TG:C语言的几何库,小巧、快速且易于使用

:C语言的几何库,小巧、快速且易于使用TG的主要目标是提供最快、内存效率最高的几何库,用于监视关系空间,特别是仓库内的点和几何相交等操作。特征●实现OGC简单功能,包括点、线串、多边形、多点、多线串、多多边形、几何集合。●优化的多边形索引引入了两种新结构。●读取和写入WKT、WKB和GeoJSON。●提供可重入且线程安全的纯函数式API。●空间谓词包括“相交”、“覆盖”、“接触”、“等于”等。●使用内存清理程序和Valgrind实现100%覆盖率的测试套件。●封装在单个tg.c源文件中的独立库。●相当不错的表现—

相关推荐

封面图片

Nebula 是一个开源且免费使用的现代 C++ 游戏引擎。

是一个开源且免费使用的现代C++游戏引擎。Nebula正在不断开发,这意味着功能一直在不断添加。目前支持:从下到上完全数据驱动的设计。数据结构套件,从容器到操作系统包装器,一切都是为了性能和最小的调用堆栈而设计的。多线程。SSE加速且直观的数学库。完整的python支持脚本层。高级渲染框架和着色器。测试平台和基准测试。分析工具。渲染Nebula渲染子系统做了很多努力,目前支持:统一的集群系统-雾量、贴花和灯光都进入同一结构。屏幕空间反射-工作状态,但仍在进行中。在计算中完成的基于地平线的环境光遮挡。基于物理的材质和渲染。多线程子通道录音。用于局部光的阴影贴图和用于全局/定向/太阳光的CSM。体积雾和照明。几何贴花。CPU-GPU混合粒子系统。蒙皮和动画。脚本化渲染路径。伏尔甘。色调映射。异步计算。使用稀疏绑定的虚拟纹理。自适应虚拟纹理地形。快速且保守的GPU内存分配。区域灯。实体系统Nebula历史上一直采用以数据库为中心的实体方法。在Nebula的最新版本中,通过采用ECS方法来不断改进,同时仍然保持以数据库为中心。数据导向数据驱动每个实体的内存开销最小。高性能而不影响可用性或简单性用于轻松实例化和分类实体类型的蓝图和模板系统。自动序列化和反序列化

封面图片

一个快速、小巧的向量搜索引擎,可用于C++、Python、JavaScript、Rust、Ja、GoLang和Wolfram

一个快速、小巧的向量搜索引擎,可用于C++、Python、JavaScript、Rust、Java、GoLang和Wolfram等编程语言。支持多种度量方式,包括欧氏距离、点积、余弦、杰卡德、海明、哈弗辛等。此外,还支持半精度、多线程、变量维度向量等功能,可以在不加载到内存中的情况下从磁盘中查看数据集。提供了各种绑定库,如Python绑定库、JavaScript绑定库、Rust绑定库等,可以简化用户的工作流程#搜索引擎

封面图片

用于太空旅行的多边变形机器人问世

用于太空旅行的多边变形机器人问世两个Mori模块配对。图片来源:洛桑联邦理工学院EPFL可重构机器人实验室主任杰米·派克表示:“我们的目标是创造一种模块化的折叠机器人,它可以根据面对的环境和任务随意组装和拆卸。”这种名为Mori3的机器人可以改变自身的大小、形状和功能。Mori3机器人的各个模块都是三角形的。这些模块很容易连接在一起,在称为多边形网格的过程中创建不同大小和配置的多边形。研究团队表示,他们已经证明多边形网格是一种可行的机器人策略。为了实现这一目标,该团队必须突破机器人技术的各个方面的界限,包括机械和电子设计、计算机系统和工程。于是,研究人员开发了Mori3机器人,它擅长做机器人能做的三件事:四处移动、处理和搬运物体以及与用户互动。创造模块化和多功能机器人的优势是什么?派克解释说,相互连接以创建关节结构的多边形和多态机器人可以有效地用于各种情况,执行更广泛的任务。目前的航天器在空间上无法为需要执行的每个单独任务配备不同的机器人。研究人员表示,Mori3最大的特点就是它的多功能性,它就是为“上天”而创造的,其设计部分是为了在航天器上使用。未来,团队希望Mori3机器人将用于通信和外部维修。...PC版:https://www.cnbeta.com.tw/articles/soft/1364971.htm手机版:https://m.cnbeta.com.tw/view/1364971.htm

封面图片

Mori3模块化技术可以让宇航员现场建造他们需要的机器人

Mori3模块化技术可以让宇航员现场建造他们需要的机器人Mori3装置由JamiePaik教授及其瑞士EPFL研究所的同事开发,由多个配备电子设备(如电机、电池和传感器)和机械耦合机构的平面三角形模块组成。在称为多边形网格化的过程中,这些模块的组可以沿边缘连接在一起,形成一个三维多边形机器人。该多边形的大小和配置会有所不同,具体取决于机器人需要执行的任务。除其他外,它可以四足行走,将自己变成机械臂,或像轮子一样滚动。此外,如果需要,多个这样的机器人可以相互连接,暂时形成一个更大的机器人。一个单独的Mori3模块ChristophBelke,EPFLRRL据科学家称,基于Mori3的机器人“擅长做机器人应该做的三件事”,即靠自己的力量四处移动、与人类用户互动,以及处理和运输物体。希望它们最终可以用于协助航天器内的宇航员或自行进行外部维修等任务。“相互连接以创建铰接结构的多边形和多态机器人可以有效地用于各种应用,”Paik说。“当然,像Mori3这样的通用机器人在某些领域的效率会不如专用机器人。也就是说,Mori3最大的卖点是它的多功能性。”一篇关于该技术的论文最近发表在《自然机器智能》杂志上。...PC版:https://www.cnbeta.com.tw/articles/soft/1366219.htm手机版:https://m.cnbeta.com.tw/view/1366219.htm

封面图片

美国政府建议使用内存安全编程语言 C/C++都被排除在外

美国政府建议使用内存安全编程语言C/C++都被排除在外为什么大型科技公司都关注Rust呢?因为相对来说,Rust安全性更高,微软认为通过Rust重新编写某些组件有助于提高内存安全性。日前美国政府下属的ONCD办公室发布了一份报告就详细介绍了建议开发者们使用各种内存安全编程语言,尽管ONCD没有明确罗列哪些语言是内存安全编程语言,但强调了C和C++缺乏与内存安全相关的特征,因此实际上就是不建议开发者使用C和C++。需要强调的是,这里只是从内存安全角度出发来建议,并不是评判一种编程语言的好坏,ONCD称如果软件一开始就选择使用内存安全编程语言的话,那么可以提高安全性。报告也没有建议使用哪些内存安全语言来替代C和C++,毕竟只是建议,实际上开发者和企业如何选择编程语言还是开发者们自己的事情,毕竟也要考虑到软件本身。...PC版:https://www.cnbeta.com.tw/articles/soft/1421763.htm手机版:https://m.cnbeta.com.tw/view/1421763.htm

封面图片

NSA建议开发者考虑从C和C++转换为内存安全的编程语言

NSA建议开发者考虑从C和C++转换为内存安全的编程语言"NSA建议企业考虑在可能的情况下,从很少或没有提供固有内存保护的编程语言(如C/C++)转向内存安全语言。内存安全语言的一些例子是C#、Go、Java、Ruby和Swift,"NSA说。该机构引用了Google和微软最近的研究,他们在Chrome和Windows中分别有70%的安全问题与内存有关,其中许多是使用C和C++的结果,这两种语言更容易出现基于内存的漏洞。"NSA在"软件内存安全"网络安全信息表中指出:"恶意的网络行为者可以利用这些漏洞进行远程代码执行或其他不利影响,这往往可以损害一个设备,成为大规模网络入侵的第一步。常用的语言,如C和C++,在内存管理方面提供了很大的自由度和灵活性,同时严重依赖程序员对内存引用进行必要的检查。"因此,该机构建议尽可能使用内存安全语言,无论是应用开发还是系统编程。虽然大多数信息安全专家都熟悉关于内存安全语言的辩论,但也许不是所有的开发人员都熟悉。不过,也许他们应该熟悉,因为这是一个几十年前就存在的问题,正如Java创建者JamesGosling最近在讨论如何以及为什么创建Java时指出的。如果有的话,NSA的文件为开发者提供了一个清晰的、通俗的解释,说明了向内存安全语言转变背后的技术原因。在内存安全方面讨论最多的语言可能是Rust,它是作为C和C++的"替代品"的主要候选。Linux内核最近引入了Rust作为C语言的第二种语言,继Android开源项目之后。这些项目不会取代旧的C/C++代码,但对于新的代码会优先考虑Rust。另外,微软Azure首席技术官MarkRussinovich最近呼吁所有开发人员在所有新项目中使用Rust而不是C和C++。"通过利用这些类型的内存问题,恶意行为者--他们不受软件使用的正常预期约束--可能会发现他们可以在程序中输入不寻常的输入,导致内存以意想不到的方式被访问、写入、分配或删除,"NSA解释说。但是--正如专家们在关于Rust和C/C++的辩论中所指出的那样--NSA警告说,仅仅使用一种内存安全语言并不能默认排除将内存错误引入软件。此外,语言通常允许使用不是用内存安全语言编写的库。"即使使用内存安全语言,内存管理也不完全是内存安全的。大多数内存安全语言承认,软件有时需要执行不安全的内存管理功能来完成某些任务。因此,有一些类或函数被认为是非内存安全的,并允许程序员执行可能不安全的内存管理任务,"NSA说。"一些语言要求任何内存不安全的东西都要明确注释为内存不安全,以使程序员和程序的任何审查人员意识到它是不安全的。内存安全语言也可以使用以非内存安全语言编写的库,因此可以包含不安全的内存功能。尽管这些包含内存不安全机制的方式颠覆了固有的内存安全,但它们有助于定位可能存在内存问题的地方,允许对这些代码部分进行额外的审查。"NSA指出,向一些内存安全语言的转化可能要付出性能上的代价,这需要开发人员学习一种新的语言。它还指出,开发人员可以采取一些措施来加固非内存安全语言。例如,Google的Chrome团队正在探索多种方法来加固C++,但这些方法也会带来性能开销。在可预见的未来,C++将继续留在Chrome的代码库中。NSA建议进行静态和动态应用程序安全测试,以发现内存问题。它还建议探索内存加固方法,如控制流保护(CFG),它将对代码的执行位置进行限制。同样,建议使用地址空间布局随机化(ASLR)和数据执行预防(DEP)。...PC版:https://www.cnbeta.com.tw/articles/soft/1332577.htm手机版:https://m.cnbeta.com.tw/view/1332577.htm

🔍 发送关键词来寻找群组、频道或视频。

启动SOSO机器人