专栏首页Golang语言社区go语言实现sqrt的方法

go语言实现sqrt的方法

package mymath
import "math"
func InvSqrt(x float32) float32 {
    var xhalf float32 = 0.5*x // get bits for floating VALUE 
    i := math.Float32bits(x) // gives initial guess y0
    i = 0x5f375a86 - (i>>1) // convert bits BACK to float
    x = math.Float32frombits(i) // Newton step, repeating increases accuracy
    x = x*(1.5-xhalf*x*x)
    x = x*(1.5-xhalf*x*x)
    x = x*(1.5-xhalf*x*x)
 return 1/x
}

本文分享自微信公众号 - Golang语言社区(Golangweb)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-11-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 厚土Go学习笔记 | 25. 函数值 函数是函数也是值

    在go语言中,函数可以作为返回值使用,也可以作为参数使用。 比如 return math.Sqrt(x*x + y*y) ... compute(math.Po...

    李海彬
  • 【Go 语言社区】在 Go 语言中,如何正确的使用并发

    Glyph Lefkowitz最近写了一篇启蒙文章,其中他详细的说明了一些关于开发高并发软件的挑战,如果你开发软件但是没有阅读这篇问题,那么我建议你阅读一篇。这...

    李海彬
  • 在 Go 语言中,如何正确的使用并发

    从多个花絮中提取,但是如果我斗胆提出主要观点的总结,其内容就是:抢占式多任务和一般共享状态结合导致软件开发过程不可管理的复杂性, 开发人员可能更喜欢保持自己的一...

    李海彬
  • 启动期间的内存管理之bootmem_init初始化内存管理–Linux内存管理(十二)

    首先我们来看看start_kernel是如何初始化系统的, start_kerne定义在init/main.c?v=4.7, line 479

    233333
  • 第74节:Java中的Cookie和Session

    启动服务器后,会给每个应用程序创建一个ServletContext,并且这个ServletContext对象只有一个。可以用于获取全局参数,工程下的资源,和存取...

    达达前端
  • JSP学习笔记(3)——域对象的属性操作

    pageContext, request,session,application 对象都有这些方法,称为域对象

    py3study
  • vue 生命周期

    Vue.js 实例生命周期(原图出自于Vue.js 官网),如图2-2 所示。 init: 在实例开始初始化时同步调用。此时数据观测、事件等都尚未初始化。2....

    用户5760343
  • Apple Swift编程语言入门教程

    今天凌晨Apple刚刚发布了Swift编程语言,本文从其发布的书籍《The Swift Programming Language》中摘录和提取而成。希望对各位的...

    sanmutongzi
  • 【2020HBU天梯赛训练】7-47 点赞狂魔

    微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。然而有这么一种人,他们...

    韩旭051
  • SpringBoot集成JPA

    在SpringBoot中,通过Spring Data JPA 和 Spring Data Rest可以快速构建出一个RESTFul应用。

    Noneplus

扫码关注云+社区

领取腾讯云代金券