...
Run Format

Source file test/fixedbugs/issue17005.go

Documentation: test/fixedbugs

  // compile
  
  // Copyright 2016 The Go Authors. All rights reserved.
  // Use of this source code is governed by a BSD-style
  // license that can be found in the LICENSE file.
  
  // This tickles (a version of) the PPC64 back end to
  // emit a BVS instruction.
  
  package foo
  
  type Flag int
  
  const (
  	Identity  Flag = iota - 2 // H is the identity matrix; no rotation is needed.
  	Rescaling                 // H specifies rescaling.
  )
  
  type DrotmParams struct {
  	Flag
  }
  
  func Drotmg(d1, d2, x1, y1 float64) (p DrotmParams, rd1, rd2, rx1 float64) {
  
  	const (
  		gam    = 4.0
  		gamsq  = 16.0
  		rgamsq = 5e-8
  	)
  
  	if d1 < 0 {
  		p.Flag = Rescaling
  		return
  	}
  
  	for rd1 <= rgamsq || rd1 >= gamsq {
  		if rd1 <= rgamsq {
  			rd1 *= gam * gam
  			rx1 /= gam
  		} else {
  			rd1 /= gam * gam
  			rx1 *= gam
  		}
  	}
  	return
  }
  

View as plain text