propagate scalar ops, tweaks
This commit is contained in:
		
							parent
							
								
									b1a4f2bd3c
								
							
						
					
					
						commit
						4204db0c32
					
				| 
						 | 
				
			
			@ -24,7 +24,7 @@ $ go run f.go
 | 
			
		|||
=> 2573.1 33632.0
 | 
			
		||||
/ 6 8
 | 
			
		||||
=> 368.4 4893.5
 | 
			
		||||
/ 60 60
 | 
			
		||||
/ 60
 | 
			
		||||
=> 6.1 81.6
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -44,7 +44,7 @@ $ sed -u "s|#.*||" | sed -u 's|M|000000|g' | go run f.go
 | 
			
		|||
=> 2573.1 33632.0
 | 
			
		||||
/ 6 8 # hours a day in which piano tuners work
 | 
			
		||||
=> 368.4 4893.5
 | 
			
		||||
/ 60 60 # minutes to an hour
 | 
			
		||||
/ 60 # minutes to an hour
 | 
			
		||||
=> 6.1 81.6
 | 
			
		||||
# ^ piano tuners in Chicago
 | 
			
		||||
```
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										37
									
								
								f.go
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								f.go
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -42,19 +42,26 @@ func combineBounds(old_low, old_high, new_low, new_high float64) (float64, float
 | 
			
		|||
 | 
			
		||||
func main() {
 | 
			
		||||
	reader := bufio.NewReader(os.Stdin)
 | 
			
		||||
	input, _ := reader.ReadString('\n')
 | 
			
		||||
	input = strings.TrimSpace(input)
 | 
			
		||||
	words := strings.Split(input, " ")
 | 
			
		||||
	error_msg_start := "Please enter two floats separated by a space, like: 1 10"
 | 
			
		||||
	if len(words) != 2 {
 | 
			
		||||
		fmt.Println(error_msg_start)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	old_low, err1 := strconv.ParseFloat(words[0], 64)
 | 
			
		||||
	old_high, err2 := strconv.ParseFloat(words[1], 64)
 | 
			
		||||
	if err1 != nil || err2 != nil {
 | 
			
		||||
		fmt.Println(error_msg_start)
 | 
			
		||||
		return
 | 
			
		||||
 | 
			
		||||
	var old_low, old_high float64
 | 
			
		||||
	var input string
 | 
			
		||||
	var err1, err2 error
 | 
			
		||||
	for {
 | 
			
		||||
		input, _ = reader.ReadString('\n')
 | 
			
		||||
		input = strings.TrimSpace(input)
 | 
			
		||||
		words := strings.Split(input, " ")
 | 
			
		||||
		if len(words) != 2 {
 | 
			
		||||
			fmt.Println("Please enter two floats separated by a space, like: 1 10")
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		old_low, err1 = strconv.ParseFloat(words[0], 64)
 | 
			
		||||
		old_high, err2 = strconv.ParseFloat(words[1], 64)
 | 
			
		||||
		if err1 != nil || err2 != nil {
 | 
			
		||||
			fmt.Println("Please enter two floats separated by a space, like: 1 10")
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		break
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
	fmt.Printf("=> %.1f %.1f\n", old_low, old_high)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -68,8 +75,6 @@ EventForLoop:
 | 
			
		|||
		words := strings.Split(strings.TrimSpace(input), " ")
 | 
			
		||||
 | 
			
		||||
		var new_low, new_high float64
 | 
			
		||||
		var err1, err2 error
 | 
			
		||||
		err1, err2 = nil, nil
 | 
			
		||||
 | 
			
		||||
		switch words[0] {
 | 
			
		||||
		case "*":
 | 
			
		||||
| 
						 | 
				
			
			@ -107,7 +112,7 @@ EventForLoop:
 | 
			
		|||
				fmt.Println(error_msg_cont)
 | 
			
		||||
				continue EventForLoop
 | 
			
		||||
			case 2:
 | 
			
		||||
				single_float, err1 := strconv.ParseFloat(words[0], 64)
 | 
			
		||||
				single_float, err1 := strconv.ParseFloat(words[1], 64)
 | 
			
		||||
				if err1 != nil {
 | 
			
		||||
					fmt.Println("Trying to divide by a scalar, but scalar is not a float")
 | 
			
		||||
					fmt.Println(error_msg_cont)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										15
									
								
								more/f.sh
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								more/f.sh
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -1,9 +1,12 @@
 | 
			
		|||
#!/bin/bash
 | 
			
		||||
#while IFS= read -r line; do echo "$line" | sed 's| //.*||' | go run main.go
 | 
			
		||||
 | 
			
		||||
# while IFS= read -r line; do echo "$line" | sed 's|//.*||'; done | go run main.go
 | 
			
		||||
function f(){
 | 
			
		||||
  sed -u "s|#.*||" | 
 | 
			
		||||
  sed -u "s|//.*||" | 
 | 
			
		||||
  sed -u 's|K|000|g' | 
 | 
			
		||||
  sed -u 's|M|000000|g' | 
 | 
			
		||||
  sed -u 's|B|000000000|g' | 
 | 
			
		||||
  /usr/bin/f
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
sed -u 's|//.*||' | go run main.go
 | 
			
		||||
# ^ sed unbuffered.
 | 
			
		||||
# cat | tee -a log.f | sed -u 's|//.*||' | go run main.go | tee -a log.f
 | 
			
		||||
# f
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,2 +0,0 @@
 | 
			
		|||
1 10 
 | 
			
		||||
2 20
 | 
			
		||||
| 
						 | 
				
			
			@ -4,6 +4,6 @@
 | 
			
		|||
/ 48 52 # weeks a year that piano tuners work for
 | 
			
		||||
/ 5 6 # days a week in which piano tuners work
 | 
			
		||||
/ 6 8 # hours a day in which piano tuners work
 | 
			
		||||
/ 60 60 # minutes to an hour
 | 
			
		||||
/ 60 # minutes to an hour
 | 
			
		||||
# ^ piano tuners in Chicago
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,4 +4,4 @@
 | 
			
		|||
/ 48 52
 | 
			
		||||
/ 5 6
 | 
			
		||||
/ 6 8
 | 
			
		||||
/ 60 60
 | 
			
		||||
/ 60
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user