/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/fixedbugs/issue17005.go
46 строк
798 B
David Chase
cmd/compile: add BVC/BVS to branch ops in ppc64/prog.go
07 сен 2016, 04:30
07 сен 2016, 04:30
a6edffb
Код
Авторство
О чём код?
// 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 }