当前位置: 首页 > news >正文

做网站vi系统是什么友链申请

做网站vi系统是什么,友链申请,网站建设高端品牌,网站建设的多吗一、源码 这段代码是用Rust实现的类型级数字系统,使用类型来表示整数并定义它们的属性。这是一种在编译时进行数学运算的技术,常用于需要编译时验证的场景。 use crate::sealed::Sealed; use crate::number::{Z0, P1, N1, B0, B1};// Marker Traits D…

一、源码

这段代码是用Rust实现的类型级数字系统,使用类型来表示整数并定义它们的属性。这是一种在编译时进行数学运算的技术,常用于需要编译时验证的场景。

use crate::sealed::Sealed;
use crate::number::{Z0, P1, N1, B0, B1};// ========== Marker Traits Definition ==========
// ========== 标记特质定义 ==========/// Integer type marker trait
/// 整数类型标记特质
pub trait Integer: Default+ Sealed + Copy + 'static {/// Convert to i32 (will be deprecated after Var implementation)/// 转换为i32 (Var方法完善后将取消)fn to_i32() -> i32;
}/// Non-zero integer marker
/// 非零整数标记
pub trait NonZero: Integer {}// Integer not equal to 1
/// 不等于1的整数标记
pub trait NonOne: Integer {}/// Integer not equal to -1
/// 不等于-1的整数标记
pub trait NonNegOne: Integer {}// Unsigned integer marker
/// 无符号整数标记
pub trait Unsigned: Integer {}// ========== NonZero Implementations ==========
// ========== NonZero 实现 ==========
impl NonZero for P1 {}
impl NonZero for N1 {}
impl<H: NonZero> NonZero for B0<H> {}
impl<H: NonZero> NonZero for B1<H> {}// ========== Integer Implementations ==========
// ========== Integer 实现 ==========// Z0 represents 0
// Z0 表示 0
impl Integer for Z0 {#[inline(always)]fn to_i32() -> i32 {0}
}// P1 represents +1
// P1 表示 +1
impl Integer for P1 {#[inline(always)]fn to_i32() -> i32 {1}
}// N1 represents -1
// N1 表示 -1
impl Integer for N1 {#[inline(always)]fn to_i32() -> i32 {-1}
}// B0<H> represents H * 2
// B0<H> 表示 H * 2
impl<H: NonZero> Integer for B0<H> {#[inline(always)]fn to_i32() -> i32 {H::to_i32() * 2}
}// B1<H> represents H * 2 + 1
// B1<H> 表示 H * 2 + 1
impl<H: NonZero> Integer for B1<H> {#[inline(always)]fn to_i32() -> i32 {H::to_i32() * 2 + 1}
}// ========== NonOne Implementations ==========
// ========== NonOne 实现 ==========
impl NonOne for Z0 {}
impl NonOne for N1 {}
impl<H: NonZero> NonOne for B0<H> {}
impl<H: NonZero> NonOne for B1<H> {}// ========== NonNegOne Implementations ==========
// ========== NonNegOne 实现 ==========
impl NonNegOne for Z0 {}
impl NonNegOne for P1 {}
impl<H: NonZero> NonNegOne for B0<H> {}
impl<H: NonZero> NonNegOne for B1<H> {}// ========== Unsigned Implementations ==========
// ========== Unsigned 实现 ==========
impl Unsigned for Z0 {}
impl Unsigned for P1 {}
impl<H: NonZero + NonNegOne> Unsigned for B0<H> {}
impl<H: NonZero + NonNegOne> Unsigned for B1<H> {}

二、代码分析

  1. 基本结构
use crate::sealed::Sealed;
use crate::number::{Z0, P1, N1, B0, B1};
  • 引入了密封模式(Sealed)和一些数字类型(Z0, P1, N1, B0, B1)
  1. 标记特质(Trait)定义
    定义了一系列标记特质来描述数字类型的属性:
  • Integer: 基础整数特质,要求实现Default、Sealed、Copy和’static,并提供一个to_i32()方法

  • NonZero: 标记非零整数

  • NonOne: 标记不等于1的整数

  • NonNegOne: 标记不等于-1的整数

  • Unsigned: 标记无符号整数(非负整数)

  1. 数字类型表示
    系统使用类型来表示数字:
  • Z0: 表示数字0

  • P1: 表示+1

  • N1: 表示-1

  • B0: 表示H*2 (二进制表示,在末尾加0)

  • B1: 表示H*2+1 (二进制表示,在末尾加1)

  1. 实现细节
  • NonZero实现: P1、N1和所有以B0、B1结尾的非零数字都是NonZero

  • Integer实现:

  • Z0转换为0

  • P1转换为1

  • N1转换为-1

  • B0转换为H::to_i32() * 2

  • B1转换为H::to_i32() * 2 + 1

  • NonOne实现: 所有不等于1的类型

  • NonNegOne实现: 所有不等于-1的类型

  • Unsigned实现: 所有非负整数(0、1和所有以B0、B1结尾的非负非-1数字)

  1. 设计模式
  • 密封模式(Sealed): 防止外部类型实现这些特质

  • 类型级编程: 使用类型而不是值来表示数字,在编译时进行计算

  • 标记特质: 用于分类和约束类型

  1. 用途
    这种设计通常用于:
  • 编译时维度检查

  • 类型安全的状态机

  • 编译时计算的数学运算

  • 需要强类型保证的领域

例如,可以创建类型安全的数组,其长度在类型中编码,并在编译时检查操作是否合法。

这种技术虽然增加了编译时复杂度,但可以提供更强的类型安全和运行时零成本抽象。

http://www.tj-hxxt.cn/news/14605.html

相关文章:

  • 在百度上免费做网站页面企业网站制作哪家好
  • 浙江同凯建设深圳公司刷移动关键词优化
  • wordpress入门教程知乎讯展网站优化推广
  • 事业单位网站备案流程软文推广案例500字
  • 网站建设合同法今日最新足球推荐
  • 沈阳网站建设公司怎么样西安网站定制开发
  • 沈阳今日新闻头条seo外包上海
  • 花木公司网站源码百度热搜榜第一
  • 做销售网站要多少钱网络营销有什么方式
  • 哪些网站专门做动漫的百度网盘app手机版
  • 网站如何制作学校的做简述seo的应用范围
  • igem网站建设百度上怎么打广告宣传
  • 问政烟台网站谷歌浏览器下载安装2022
  • 网站建设及推广图片cps广告联盟平台
  • 个人作品展示 网站宁波seo推广联系方法
  • 易语言做网站seo搜索引擎优化师
  • 深圳福田网站优化网络营销培训学校产品推广外包
  • 网站的前端开发云搜索
  • php网站开发面试百度搜索引擎的网址
  • h5如何做多页面网站全国疫情又严重了
  • 镇江做网站百度官方首页
  • 微信公众号 做不了微网站做网络推广有哪些平台
  • wordpress 主题 引入js长清区seo网络优化软件
  • 沈阳人流厦门seo
  • 新建设电影院 网站合肥seo排名优化公司
  • 包包网站建设学管理培训班去哪里学
  • 电商网站制作设计今日最新足球推荐
  • 网站建设选青岛的公司好不好适合小学生摘抄的新闻2022年
  • 网站搜索引擎优化的内容谷歌收录查询
  • 专业医疗网站建设网上推广方式