Sponsored Content
Top Forums Programming FORTRAN Simplification of Function Post 302928057 by MadeInGermany on Monday 8th of December 2014 03:05:51 PM
Old 12-08-2014
If you don't mind to set n many times (which is a very small overhead)
and if I have understood your code, you can try

Code:
if (present (p1) .and. (p1)) n = 1
if (present (p2) .and. (p2)) n = 2
...
if (present (p8) .and. (p8)) n = 8

---------- Post updated at 03:05 PM ---------- Previous update was at 02:55 PM ----------

Alternatively try the following that is without any overhead:
Code:
 If (Present (p8) .and. (p8)) Then
   n = 8
 Else If (Present (p7) .and. (p7)) Then
   n = 7
 ...
 Else If (Present (p2) .and. (p2)) Then
   n = 2
 Else If (p1) Then
   n = 1
 End If


Last edited by MadeInGermany; 12-08-2014 at 03:59 PM.. Reason: no then
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed simplification...

All, I have an file in the xml format which looks like this <source>Please wait. This may take several minutes...</source> <translation>Please wait. This may take several minutes...</translation> <source>Your computer must be restarted to complete setup.\nClick on 'OK' button to... (4 Replies)
Discussion started by: vino
4 Replies

2. Linux

Fortran 90 compiler

Hi everybody: Could anybody help me where could I download Fortran 90 complier? Thanks in advance. :) (2 Replies)
Discussion started by: tonet
2 Replies

3. Shell Programming and Scripting

Simplification of a shell script

I have the following script: df > df.txt scp df.txt username@192.168.1.2:~ rm df.txt Its purpose is: Send disk space usage report to another machine Because it is now included in a shell script that is invoked by a cron, it makes maintenance harder. I would like it to be on a single line... (5 Replies)
Discussion started by: figaro
5 Replies

4. UNIX for Dummies Questions & Answers

FORTRAN compiling

Hello, I have a FORTRAN code that I want to compile using F90 compiler. However, when I enter the command: f90 ./code.f -o ./code.out It would give me prompt saying that absoft license has failed, or something. I remember, however, that I could enter some keyword that ends with 'soft' in... (1 Reply)
Discussion started by: Iamthe great
1 Replies

5. Programming

learning fortran

Can anyone recommend a very good Fortran online course for unix. It should also cover Fortran X11 programming if possible. I understand this learning cannot be rushed but a course that addresses useful topics sooner is best. If it isn't free, that's okay. (1 Reply)
Discussion started by: gav2251
1 Replies

6. Programming

Fortran 77 and gfortran

Hi! I have a program in fortran77. This program was compiled with pgf90, but now, I need compiled it with gfortran. I show a bit of code. program hello PARAMETER(a=100) integer a write(*,*)'value ', a end program hello What's the problem? Thanks (2 Replies)
Discussion started by: kekaes
2 Replies

7. Shell Programming and Scripting

How to convert FORTRAN subroutine to awk function?

Hi All I am trying to convert some Fortran subroutine to awk function , those who know kindly explain how to define function in awk, and how to call function Fortran subroutine looks somewhat like this SUBROUTINE GDATE (JD, YEAR,MONTH,DAY) C C---COMPUTES THE GREGORIAN CALENDAR DATE... (5 Replies)
Discussion started by: Akshay Hegde
5 Replies

8. Shell Programming and Scripting

FORTRAN Compiler

Need assistance in Fortran Compiler I need to install Fortran compiler on Linux distribution . I don't have root access to use rpm or yum to install compiler . Is there any way I can get it ? Are there any sites that has fortran compiler . Any links to download and install . (10 Replies)
Discussion started by: ajayram_arya
10 Replies

9. Programming

FORTRAN Extends

I am writing some code in fortran that defines certain shapes. Currently I have a cuboid and a prism. Now a parallelepiped is both a cuboid and a prism. Is there a way to code this? Currently I only have Type, Extends (Cuboid) :: Parallelepipied How can I do so that Parallelepipied is... (3 Replies)
Discussion started by: kristinu
3 Replies

10. Programming

FORTRAN p-norm

What would be an accurate and efficient computation of the p-norm in Fortran? Integer :: p Real :: sum, pn Do i = 1, Size (a) sum = sum + ((Abs a(i)) ** p) End Do pn = sum ** (1.0/ Real(p)) (0 Replies)
Discussion started by: kristinu
0 Replies
Graph(3pm)						User Contributed Perl Documentation						Graph(3pm)

NAME
SVG::Graph - Visualize your data in Scalable Vector Graphics (SVG) format. SYNOPSIS
use SVG::Graph; use SVG::Graph::Data; use SVG::Graph::Data::Datum; #create a new SVG document to plot in... my $graph = SVG::Graph->new(width=>600,height=>600,margin=>30); #and create a frame to hold the data/glyphs my $frame = $graph->add_frame; #let's plot y = x^2 my @data = map {SVG::Graph::Data::Datum->new(x=>$_,y=>$_^2)} (1,2,3,4,5); my $data = SVG::Graph::Data->new(data => @data); #put the xy data into the frame $frame->add_data($data); #add some glyphs to apply to the data in the frame $frame->add_glyph('axis', #add an axis glyph 'x_absolute_ticks' => 1, #with ticks every one #unit on the x axis 'y_absolute_ticks' => 1, #and ticks every one #unit on the y axis 'stroke' => 'black', #draw the axis black 'stroke-width' => 2, #and 2px thick ); $frame->add_glyph('scatter', #add a scatterplot glyph 'stroke' => 'red', #the dots will be outlined #in red, 'fill' => 'red', #filled red, 'fill-opacity' => 0.5, #and 50% opaque ); #print the graphic print $graph->draw; DESCRIPTION
SVG::Graph is a suite of perl modules for plotting data. SVG::Graph currently supports plots of one-, two- and three-dimensional data, as well as N-ary rooted trees. Data may be represented as: Glyph Name Dimensionality supported 1d 2d 3d tree -------------------------------------------------------- Axis x Bar Graph x Bubble Plot x Heatmap Graph x Line Graph x Pie Graph x Scatter Plot x Spline Graph x Tree x SVG::Graph 0.02 is a pre-alpha release. Keep in mind that many of the glyphs are not very robust. PLOTTING
You need to create a SVG::Graph::Frame instance from the parent SVG::Graph instance for each set of data to be plotted. Datasets can be hierarchical, and to represent this, SVG::Graph::Frame instances can themselves contain subframes. SVG::Graph::Frame can contain: - multiple subframes as instances of SVG::Graph::Frame - a single SVG::Graph::Data instance - multiple SVG::Graph::Glyph instances with which to render the attached SVG::Graph::Data instance, and all SVG::Graph::Data instances attached to SVG::Graph::Frame subinstances See SVG::Graph::Frame and SVG::Graph::Glyph for details. ONE DATA SET 1. create an SVG::Graph instance 2. create an SVG::Graph::Frame instance by calling SVG::Graph::add_frame(); 3. create an SVG::Graph::Data instance, containing an SVG::Graph::Data::Datum instance for each data point. 4. Attach the SVG::Graph::Data instance to your SVG::Graph::Frame using SVG::Graph::Frame::add_data(); 5. Attach glyphs to the SVG::Graph::Frame instance using SVG::Graph::Frame::add_glyph(); 6. Call SVG::Graph::draw(); MULTIPLE DATA SETS 1. create an SVG::Graph instance 2. create an SVG::Graph::Frame instance by calling SVG::Graph::add_frame(); 3. create an SVG::Graph::Data instance, containing an SVG::Graph::Data::Datum instance for each data point. 4. Attach the SVG::Graph::Data instance to your SVG::Graph::Frame using SVG::Graph::Frame::add_data(); 5. Attach glyphs to the SVG::Graph::Frame instance using SVG::Graph::Frame::add_glyph(); 6. repeat [2-5] for each additional data set to be added. add_frame() can be called on SVG::Graph to add top-level data sets, or SVG::Graph::Frame to add hierarchical data sets. 7. Call SVG::Graph::draw(); FEEDBACK
Send an email to the svg-graph-developers list. For more info, visit the project page at http://www.sf.net/projects/svg-graph AUTHORS
Allen Day, <allenday@ucla.edu> Chris To, <crsto@ucla.edu> CONTRIBUTORS
James Chen, <chenj@seas.ucla.edu> Brian O'Connor, <boconnor@ucla.edu> SEE ALSO
SVG METHODS
new Title : new Usage : my $graph = SVG::Graph->new(width=>600, height=>600, margin=>20); Function: creates a new SVG::Graph object Returns : a SVG::Graph object Args : width => the width of the SVG height => the height of the SVG margin => margin for the root frame init Title : init Usage : Function: Example : Returns : Args : width Title : width Usage : $obj->width($newval) Function: Example : Returns : value of width (a scalar) Args : on set, new value (a scalar or undef, optional) height Title : height Usage : $obj->height($newval) Function: Example : Returns : value of height (a scalar) Args : on set, new value (a scalar or undef, optional) margin Title : margin Usage : $obj->margin($newval) Function: Example : Returns : value of margin (a scalar) Args : on set, new value (a scalar or undef, optional) svg Title : svg Usage : $obj->svg($newval) Function: Example : Returns : value of svg (a scalar) Args : on set, new value (a scalar or undef, optional) add_frame Title : add_frame Usage : my $frame = $graph->add_frame Function: adds a Frame to the current Graph Returns : a SVG::Graph::Frame object Args : a hash. usable keys: frame_transform (optional) 'top' default orientation 'bottom' rotates graph 180 deg (about the center) 'right' points top position towards right 'left' points top position towards left frames Title : frames Usage : get/set Function: Example : Returns : Args : xoffset Title : xoffset Usage : $obj->xoffset($newval) Function: Example : Returns : value of xoffset (a scalar) Args : on set, new value (a scalar or undef, optional) yoffset Title : yoffset Usage : $obj->yoffset($newval) Function: Example : Returns : value of yoffset (a scalar) Args : on set, new value (a scalar or undef, optional) draw Title : draw Usage : $graph=>draw Function: depends on child glyph implementations Returns : xmlifyied SVG object Args : none perl v5.10.0 2009-01-07 Graph(3pm)
All times are GMT -4. The time now is 10:59 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy