09-06-2003
For starters, expr only works with integers.
I'm not a csh expert, but your syntax looks wrong. I would have expected that you need to do something like:
set Xmin = `sort $OUTFILE | head -1 | awk '{printf("%10.3f\n", $1)};'`
Your algorithm is extremely inefficient. You should not sort the file at all. Initialize things by setting your min to a very large number and your max to a very small number (negative, but with a large absolute value). Then loop reading each value. If the value is less than the current min, it becomes the new min. If the value is larger than the current max, it becomes the new max. You should be able to get all 6 extrema with one pass of the unsorted file.
I would definately switch languages, probably to C. You really want a language with built in floating point support.
But you can do floating arithmetic by using bc. You need to echo in expressions and read the result. Try this command:
echo 1.5 + .5 | bc
to see what I mean.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
hello all how can i get the type of variable in perl like
typeof(var); in javascript for instance ? to know if the variable is int or string ? (2 Replies)
Discussion started by: umen
2 Replies
2. Shell Programming and Scripting
Hello:
Is there any way to tell the type of a passed or entered variable, if it is a string or integer,...etc.
Thanks a lot (2 Replies)
Discussion started by: aladdin
2 Replies
3. Shell Programming and Scripting
Hi all, I am new to these forum and to scripting in general for that matter. i have been looking through the forums for something that could explain my problem. I have be come pretty familiar with sed and awk but I can not seem to figure this out... I am trying to match data from 3 files but every... (4 Replies)
Discussion started by: derek3131
4 Replies
4. Programming
The following program takes two command line arguments.
I want the second argument (fileCount) to be stored/printed as a int value. I tried my best to typecast the char to int (check the printf statement at last) but is not working...the output is some junk value.
This program is in its... (3 Replies)
Discussion started by: frozensmilz
3 Replies
5. Shell Programming and Scripting
Hello experts,
How we can find out,that what is type of a scalar variable? i.e a scalar var contain a number or a string.
Thanks in advance. (8 Replies)
Discussion started by: Zaxon
8 Replies
6. Shell Programming and Scripting
Hi I'm trying to write a script which takes an integer as input and checks for files with size > input and displays it on screen.
The code I've tried :
echo 'Enter the min file size expected'
read filesize
du -ah <folder name> | awk -F: '$1>int(filesize) {print $1,$2)' is always... (28 Replies)
Discussion started by: vivek.bharadwaj
28 Replies
7. Programming
Is it permitted to type-cast a member variable passed in as a parameter in a member const method ..
I am doing something like :
in a
return-type method () const {
variable other = long(member variable)
}
this other assigned variable is not updating and I wonder if type-casting in such... (1 Reply)
Discussion started by: shriyer123
1 Replies
8. Shell Programming and Scripting
I have a question about the type of this variable
checkU= sudo cat /etc/passwd: grep $uname: wc -l
I write a script to check the existent of username that get from the keyboard. If there is no username,it will create the username else it show the 'Duplicate name" message.
The problem is it... (4 Replies)
Discussion started by: thsecmaniac
4 Replies
9. Shell Programming and Scripting
hi guys,
i m new to shell script..
i dont know how to type cast string into integers and i mention my problem below..
date="21091988"
month=$((${date:2:2})) # extract the month from previous date variable
temp=$(($month*23))
when i am trying to calculate the temp value i got the... (5 Replies)
Discussion started by: raadhaakrishnan
5 Replies
10. Programming
I am confused by the value of "currdisk->currangle" after adding operation. Initially the value of "currdisk->currangle" is 0.77500000000000013, but after adding operation, it's changed to "-nan(0x8000000000000)", Can anyone explain ? Thanks! The following is the occasion of gdb debugging.
3338 ... (8 Replies)
Discussion started by: 915086731
8 Replies
MAX(3) 1 MAX(3)
max - Find highest value
SYNOPSIS
mixed max (array $values)
DESCRIPTION
mixed max (mixed $value1, mixed $value2, [mixed $...])
If the first and only parameter is an array, max(3) returns the highest value in that array. If at least two parameters are provided,
max(3) returns the biggest of these values.
Note
Values of different types will be compared using the standard comparison rules. For instance, a non-numeric string will be com-
pared to an integer as though it were 0, but multiple string values will be compared alphanumerically. The actual value returned
will be of the original type with no conversion applied.
PARAMETERS
o $values
- An array containing the values.
o $value1
- Any comparable value.
o $value2
- Any comparable value.
o $...
- Any comparable value.
RETURN VALUES
max(3) returns the parameter value considered "highest" according to standard comparisons. If multiple values of different types evaluate
as equal (e.g. 0 and 'abc') the first provided to the function will be returned.
EXAMPLES
Example #1
Example uses of max(3)
<?php
echo max(2, 3, 1, 6, 7); // 7
echo max(array(2, 4, 5)); // 5
// The string 'hello' when compared to an int is treated as 0
// Since the two values are equal, the order they are provided determines the result
echo max(0, 'hello'); // 0
echo max('hello', 0); // hello
// Here we are comparing -1 < 0, so 'hello' is the highest value
echo max('hello', -1); // hello
// With multiple arrays of different lengths, max returns the longest
$val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(1, 1, 1, 1)
// Multiple arrays of the same length are compared from left to right
// so in our example: 2 == 2, but 5 > 4
$val = max(array(2, 4, 8), array(2, 5, 1)); // array(2, 5, 1)
// If both an array and non-array are given, the array will be returned
// as comparisons treat arrays as greater than any other value
$val = max('string', array(2, 5, 7), 42); // array(2, 5, 7)
// If one argument is NULL or a boolean, it will be compared against
// other values using the rule FALSE < TRUE regardless of the other types involved
// In the below example, -10 is treated as TRUE in the comparison
$val = max(-10, FALSE); // -10
// 0, on the other hand, is treated as FALSE, so is "lower than" TRUE
$val = max(0, TRUE); // TRUE
?>
SEE ALSO
min(3), count(3).
PHP Documentation Group MAX(3)