03-14-2009
SH if statement using FLOAT values
Today I spent longer than I'd like to admit figuring out how to write a Bourne shell IF statement that tests a FLOAT value before executing a block of statements. Here's the solution I found, which invokes bc. Hope this will come in handy for someone:
value = [some floating point number]
testval = [some floating point number]
if [ `echo "if($value > $testval) 1; if($value <= $testval) 0" | bc` -eq 1 ]
then
body of if statement
fi
--Steve
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I am trying to set up a variable based on the name of the file.
function script_name {
if
then
job_name='MONITOR'
return job_name;
elsif
then
job_name='VERSION'
return job_name
fi
}
for i in `ls *log`
do
script_name $i
done. (4 Replies)
Discussion started by: oracle8
4 Replies
2. Shell Programming and Scripting
I am trying to compare 2 float values using if
the foll code does not work
a=1.4
b=1.6
if test $a -gt $b
then
echo "$a is max"
else
echo "$b is max"
fi
does -gt work for floating point numbers, if not how do go about for my requirement? can i use bc ? pls help
thanks in advance... (2 Replies)
Discussion started by: kavitha
2 Replies
3. UNIX for Dummies Questions & Answers
Hi
I know its a dumb question but can any one please explain me the difference of executing a shell script in the following 2 ways.
. script.sh
sh script.sh
I have a problem if I execute the following code as sh script.sh
DB_CNT_ALW=0.20
SCT_VAR=0.05
if ; then
echo "== Difference... (3 Replies)
Discussion started by: shash
3 Replies
4. Programming
Good morning,
I'm testing the use of ceilf:
/*Filename: str.c*/
#include <stdio.h>
#include <math.h>
int main (void)
{
float ceilf(float x);
int dev=3, result=0;
float tmp = 3.444f;
printf("Result: %f\n",ceilf(tmp));
return 0;
} (1 Reply)
Discussion started by: jonas.gabriel
1 Replies
5. Shell Programming and Scripting
Hi I am new to shell scripting and trying to get values from a text file,
I have a text file with values seperated with "|". like
aga|120220090525|120220090525|120220090525|120220090530
bab|120220090530|120220090530|120220090535|120220090535|120220090535... (4 Replies)
Discussion started by: mannepalli
4 Replies
6. Shell Programming and Scripting
how to input float data type in bash shell programming in linux?
I am new to it so unaware to use the commands plz help me out.
thank you. (6 Replies)
Discussion started by: purva
6 Replies
7. UNIX for Advanced & Expert Users
Hi Guys,
here is a part of my source code. This part is reponsible to get the minimun of a few values:
..........
MAX=0.00
for a in `cat $OFILE`
do
if
then
... (2 Replies)
Discussion started by: Paat
2 Replies
8. Red Hat
:confused:We have two servers one active and one stand by
as follows Active 202.61.9.9
Stand by 202.61.9.10
Float IP 202.61.9.8
What is use of this float IP?
How it is configured? (1 Reply)
Discussion started by: manalisharmabe
1 Replies
9. Programming
Hi,
I have small problem to print float value in the fallowing code
float Cx, W,f=250000, Cr=92.00,pi=3.14;
W=2*pi*f;
Cx = 1/W.Cr; //Cx value will be come around like 7.07E-9.
printf("capacitance value: %.10f",Cx);
I am trying to print Cx value using above code but it was not... (3 Replies)
Discussion started by: veerubiji
3 Replies
10. Shell Programming and Scripting
I'm in the process of writng a function that consists of a case statement is there a way of calling the function and passing a value to it?
ie
function1 () {
case
opt1 do .....
opt2 do.....
esac
}
function opt1
I'm aware the syntax is not correct, but you get the general idea. (1 Reply)
Discussion started by: squrcles
1 Replies
LEARN ABOUT HPUX
fegetexceptflag
fegetexceptflag(3M) fegetexceptflag(3M)
NAME
fegetexceptflag() - get floating-point exception flags
SYNOPSIS
HP Integrity Server Only
PA-RISC Only
DESCRIPTION
The function stores a representation of the states of the floating-point exception flags indicated by the argument excepts in the object
pointed to by the argument flagp. The excepts argument can be constructed as a bitwise OR of the floating-point exception macros: and rep-
resents all the floating-point exceptions. The object into which the floating-point exception flags are stored can be passed to to restore
the system exception flags, but the representation of the floating-point exception flags stored in the object is otherwise unspecified.
Use instead of to determine which floating-point exception flags are set.
USAGE
To use this function, compile either with the default option or with the and options. Make sure your program includes
For Integrity servers, specify on the compiler command line or place the call to this function under the effect of an affirmative pragma:
If the pragma is placed outside of any top-level declarations in a file, the pragma will apply to all declarations in the compilation fol-
lowing the pragma until another pragma is encountered or until the end of the file is reached.
If the pragma is placed at the beginning of a block (compound statement), the pragma will apply until another pragma is encountered or
until the end of the block is reached.
For PA-RISC, you might need to use the compiler option in order to prevent optimizations that can undermine the specified behavior of this
function.
Link in the math library by specifying on the compiler or linker command line.
For more information, see the at the following site:
RETURN VALUE
Integrity Server Only
This function always returns 0, indicating that a representation was successfully stored.
PA-RISC Only
None.
ERRORS
No errors are defined.
EXAMPLES
Store the overflow and invalid floating-point exception flags:
SEE ALSO
feclearexcept(3M), fegettrapenable(3M), feraiseexcept(3M), fesetexceptflag(3M), fesettrapenable(3M), fetestexcept(3M), fenv(5).
STANDARDS CONFORMANCE
: ISO/IEC C99 (including Annex F, "IEC 60559 floating-point arithmetic")
fegetexceptflag(3M)