BASH: floating point exception


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting BASH: floating point exception
# 1  
Old 08-16-2008
BASH: floating point exception

Hi, guys,

today, I have copied a simple script which runs correctly on a computer to another one. But, the latter informs me:

Floating point exception!

@ ./command_module a b c

where command_module is the module compiled by myself.

So, I have fixed it by following steps:
1. append the current directory of the command_module to PATH
2. delete the characters of ./
3. rename command_module as commandmodule, else the error is still informed.

So, my question is what is the reason for it? Although it seems that the script is running correctly again, I am confused... who knows why?

thanks!Smilie
# 2  
Old 08-17-2008
Quote:
Originally Posted by mapleleaves
Hi, guys,

today, I have copied a simple script which runs correctly on a computer to another one.

What is in that script?
Quote:
But, the latter informs me:

Floating point exception!

What line causes that error?

What is the full error message?
Quote:
@ ./command_module a b c

What is '@'?
Quote:
where command_module is the module compiled by myself.

So, I have fixed it by following steps:
1. append the current directory of the command_module to PATH
2. delete the characters of ./
3. rename command_module as commandmodule, else the error is still informed.

So, my question is what is the reason for it? Although it seems that the script is running correctly again, I am confused... who knows why?

None of the steps you describe would fix that error, unless having the additional directory in your PATH caused the script to call a different version of a command.
[QUOTE]
# 3  
Old 08-20-2008
Thank you, cfajohnson!

To fix the problem, I

1. add the current directory to the PATH (see the script)
PATH=$PATH":$PWD"
export PATH

2. delete the "./" in the lines
# ./$commandstr
$commandstr

# ./combine tests_inputs.txt > $cbfilename
combine tests_inputs.txt > $cbfilename


3. rename the lp_solve as lpsolve

# lp_solve -time -sp secure.lp 1> $lpfilename 2>&1
lpsolve -time -sp secure.lp 1> $lpfilename 2>&1


The error "BASH: floating point exception " are outputed at the lines of
case 2 and 3.

And AutoRandom, lp_solve, lpsolve, combine are executable files compiled by myself.


The full error message:

+ ./lp_solve -time -sp secure.lp
./ExpScriptOld: line 55: 7304 Floating point exception./lp_solve -time -sp secure.lp >$lpfilename 2>&1

What is '@'?
@ is typed by myself. Sorry, just means AT.


The script is pasted here:
++++++++++++++++++++++++++++++++++++++++++++
Code:
#!/bin/bash -xv 
#This script is written for collecting time cost of lp_solve and a pruning algorithm.
#input: group_number, MAX_group_number, servicenumberforecahgroup,MAX_sn,task number,MAX_tn



# 3 loops
for ((gni=$1 ; gni<=$2 ;gni=gni+1))
do
        for ((sni=$3;sni<=$4;sni=sni+1))
        do
                for ((tni=$5;tni<=$6;tni=tni+1))
                do
                        #init commandstr
                        unset commandstr filestr
                        commandstr="AutoRandom $gni"

                        for ((ci=1;ci<=$gni;ci=ci+1))
                        do
                                commandstr="$commandstr $sni"

                        done
                        commandstr="$commandstr $tni"
                        
                        #call AutoRandom,output secure.lp, tests_inputs.txt
                        ./$commandstr
                       
                          
                        #init file name

                        unset lpfilename cbfilename
                        filestr="G_"$gni"S_"$sni"T_"$tni
                        lpfilename=lp$filestr
                        cbfilename=combine$filestr

                        echo $lpfilename $cbfilename
                        #call combine
                        ./combine tests_inputs.txt > $cbfilename
                        #grep the time cost
                      lptotalcost=` more $lpfilename | grep "solving" | sed 's/^.*(//g' | sed 's/s.*)$//g'`
                      lpParsingcost=` more $lpfilename | grep "Parsing" | sed 's/^.*input://g' | sed 's/s.*)$//g'`

                      cbtimecostL=`more $cbfilename | grep "^the.*linear" | sed 's/^.*takes//g' | sed 's/ milisecond$//g'`
                      cbtimecostA=`more $cbfilename | grep "advanced" | sed 's/^.*takes//g' | sed 's/ miliseconds$//g'`
                      

                     outputline="$filestr The cost time for LP_Parsing, LP_Total, L_Combine and A_Combine are: $lpParsingcost, $lptotalcost, $
cbtimecostL, $cbtimecostA"
                     echo $outputline >>  Data.txt


                done
        done
done

++++++++++++++++++++++++++++++++++++++++++++

[quote=cfajohnson;302225783]
What is in that script?

What line causes that error?

What is the full error message?
What is '@'?
None of the steps you describe would fix that error, unless having the additional directory in your PATH caused the script to call a different version of a command.

Last edited by mapleleaves; 08-22-2008 at 09:23 AM..
# 4  
Old 08-20-2008
Sorry for the format of my reply.

The Tabs of the code are deleted by the thread editor.
# 5  
Old 08-20-2008
Hi.
Quote:
Originally Posted by mapleleaves
Sorry for the format of my reply.

The Tabs of the code are deleted by the thread editor.
That's what the CODE tags are for. Select the text lines, then click the # above the editing window:
Code:
so the text looks like this in mono-space typeface

... cheers, drl
# 6  
Old 08-22-2008
Quote:
Originally Posted by drl
Hi.

That's what the CODE tags are for. Select the text lines, then click the # above the editing window:
Code:
so the text looks like this in mono-space typeface

... cheers, drl
Thank u very much!

It works!SmilieSmilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Comparison of floating point numbers in bash

I have the following code snippet in bash if ]; then minm=`echo "$diff" | bc` fi It works well for most of the cases. However lets say diff is -0.17 and minm is -0.0017. In such a case the comparison seems to fail. Is the correct way to compare a mixture of positive and... (12 Replies)
Discussion started by: ngabrani
12 Replies

2. Shell Programming and Scripting

Bash script to print the smallest floating point number in a row that is not 0

Hello, I have often found bash to be difficult when it comes to floating point numbers. I have data with rows of tab delimited floating point numbers. I need to find the smallest number in each row that is not 0.0. Numbers can be negative and they do not come in any particular order for a given... (9 Replies)
Discussion started by: LMHmedchem
9 Replies

3. Shell Programming and Scripting

[BASH] Floating point exception

Heyas I have a script (vhs - video handler script, using ffmpeg) to encode videos. It also encodes a dvd, but until now just non-copy-protected ones, so i've tried to add/implement a vobcopy wrapper to be used by my script. At first it looked quite fine, but when changing from the first VOB... (9 Replies)
Discussion started by: sea
9 Replies

4. Shell Programming and Scripting

Bash Floating point math with bc

Hello Everyone, I am currently working on a script to calculate optimal tcp window size the formula that I am following is 2 x (bandwith speed /8 * Round Trip Time ) = x This is what I have so far #!/bin/bash echo "Enter connection speed" << Get the speed of the Connection from... (3 Replies)
Discussion started by: bmfmancini
3 Replies

5. Shell Programming and Scripting

[BASH] Regex for floating point number

Hey again, I have a basic regex that tests if a number is a float. Thank you. (5 Replies)
Discussion started by: whyte_rhyno
5 Replies

6. Programming

Floating Point

Anyone help me i cant found the error of floating point if needed, i added the code complete #include <stdio.h> #include <string.h> #include <stdlib.h> #include <ctype.h> typedef struct { int hh; int mm; int ss; char nom; int punt; }cancion; typedef struct... (9 Replies)
Discussion started by: Slasho
9 Replies

7. Shell Programming and Scripting

floating point not recognized by printf in bash

Dear all, I have the following question. Let's say that I have the following script #!/bin/bash value=0.4987865 a=` printf "%6.2f" $value ` b=`echo $value + $value | bc -l` echo $a echo $b exit And the exit is: 0,00 .9975730 Thus, the problem is that the printf order does not... (2 Replies)
Discussion started by: josegr
2 Replies

8. Linux

Floating Point Exception

Hi, I am compiling "HelloWorld" C progam on 32-bit CentOS and i want to execute it on 64-bit CentOS architecture. For that i copied the a.out file from 32-bit to 64-bit machine, but while executing a.out file on 64bit machine I am getting "Floating point exception error". But we can run... (3 Replies)
Discussion started by: Mandar123
3 Replies

9. Linux

Floating point exception !!!

Hi, I have linux fedora 4 ver., 2.6 kernal. And qmail & mysql & samba servers are already configured on this server. When I try to install any package like squidguard ,dansguardian,webmin,rsnapshots with command rpm -ivh . It is giving error as “Floating point exception" Snap View is... (3 Replies)
Discussion started by: ssk01
3 Replies

10. Shell Programming and Scripting

Floating point numeric comparisions in bash

Hi, I am trying to compare 2 floating point numbers 0.8 and 0.15 using bash and get the largest of the two. Can anyone advise. (2 Replies)
Discussion started by: borncrazy
2 Replies
Login or Register to Ask a Question