mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-10-26 17:41:34 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			82 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!doctype html>
 | |
| 
 | |
| <title>CodeMirror: Fortran mode</title>
 | |
| <meta charset="utf-8"/>
 | |
| <link rel=stylesheet href="../../doc/docs.css">
 | |
| 
 | |
| <link rel="stylesheet" href="../../lib/codemirror.css">
 | |
| <script src="../../lib/codemirror.js"></script>
 | |
| <script src="fortran.js"></script>
 | |
| <style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
 | |
| <div id=nav>
 | |
|   <a href="https://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a>
 | |
| 
 | |
|   <ul>
 | |
|     <li><a href="../../index.html">Home</a>
 | |
|     <li><a href="../../doc/manual.html">Manual</a>
 | |
|     <li><a href="https://github.com/codemirror/codemirror">Code</a>
 | |
|   </ul>
 | |
|   <ul>
 | |
|     <li><a href="../index.html">Language modes</a>
 | |
|     <li><a class=active href="#">Fortran</a>
 | |
|   </ul>
 | |
| </div>
 | |
| 
 | |
| <article>
 | |
| <h2>Fortran mode</h2>
 | |
| 
 | |
| 
 | |
| <div><textarea id="code" name="code">
 | |
| ! Example Fortran code
 | |
|   program average
 | |
| 
 | |
|   ! Read in some numbers and take the average
 | |
|   ! As written, if there are no data points, an average of zero is returned
 | |
|   ! While this may not be desired behavior, it keeps this example simple
 | |
| 
 | |
|   implicit none
 | |
| 
 | |
|   real, dimension(:), allocatable :: points
 | |
|   integer                         :: number_of_points
 | |
|   real                            :: average_points=0., positive_average=0., negative_average=0.
 | |
| 
 | |
|   write (*,*) "Input number of points to average:"
 | |
|   read  (*,*) number_of_points
 | |
| 
 | |
|   allocate (points(number_of_points))
 | |
| 
 | |
|   write (*,*) "Enter the points to average:"
 | |
|   read  (*,*) points
 | |
| 
 | |
|   ! Take the average by summing points and dividing by number_of_points
 | |
|   if (number_of_points > 0) average_points = sum(points) / number_of_points
 | |
| 
 | |
|   ! Now form average over positive and negative points only
 | |
|   if (count(points > 0.) > 0) then
 | |
|      positive_average = sum(points, points > 0.) / count(points > 0.)
 | |
|   end if
 | |
| 
 | |
|   if (count(points < 0.) > 0) then
 | |
|      negative_average = sum(points, points < 0.) / count(points < 0.)
 | |
|   end if
 | |
| 
 | |
|   deallocate (points)
 | |
| 
 | |
|   ! Print result to terminal
 | |
|   write (*,'(a,g12.4)') 'Average = ', average_points
 | |
|   write (*,'(a,g12.4)') 'Average of positive points = ', positive_average
 | |
|   write (*,'(a,g12.4)') 'Average of negative points = ', negative_average
 | |
| 
 | |
|   end program average
 | |
| </textarea></div>
 | |
| 
 | |
|     <script>
 | |
|       var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
 | |
|         lineNumbers: true,
 | |
|         mode: "text/x-fortran"
 | |
|       });
 | |
|     </script>
 | |
| 
 | |
|     <p><strong>MIME types defined:</strong> <code>text/x-fortran</code>.</p>
 | |
|   </article>
 | 
