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

织梦与wordpress seo哪个好可靠的网站优化

织梦与wordpress seo哪个好,可靠的网站优化,wordpress版本查看,网站免费观影怎么做一、源码 这段代码定义了一个泛型结构体 Var,并为它实现了各种数学运算。 /** 变量结构体 Var* 该结构体泛型参数 T 需满足 Numeric 约束*/use core::ops::{Neg, Add, Sub, Mul}; use crate::constant::Integer; /// 定义 Numeric trait,约束 T 必须实…

一、源码

这段代码定义了一个泛型结构体 Var,并为它实现了各种数学运算。

/** 变量结构体 Var* 该结构体泛型参数 T 需满足 Numeric 约束*/use core::ops::{Neg, Add, Sub, Mul};
use crate::constant::Integer;
/// 定义 Numeric trait,约束 T 必须实现基本数值运算
pub trait Numeric:Neg<Output = Self> +Add<Output = Self> +Sub<Output = Self> +Mul<Output = Self> +From<i32> +Copy +Sized
{}// 为基本类型实现 Numeric
impl Numeric for i64 {}
impl Numeric for f64 {}/// 变量结构体,封装一个泛型值 T
#[derive(Debug, Clone, Copy, PartialEq, Default)]
pub struct Var<T: Numeric>(pub T);/// 实现 Var 与 Var 的乘法运算
/// V * V
impl<T: Numeric> Mul<Var<T>> for Var<T> {type Output = Self;fn mul(self, b: Self) -> Self::Output {Var(self.0 * b.0)}
}/// 实现 Var 与 Var 的加法运算
/// V + V
impl<T: Numeric> Add for Var<T> {type Output = Self;fn add(self, b: Self) -> Self::Output {Var(self.0 + b.0)}
}/// 实现 Var 的取反运算
/// -V
impl<T: Numeric> Neg for Var<T> {type Output = Self;fn neg(self) -> Self::Output {Var(-self.0)}
}/// 实现 Var 与 Var 的减法运算
/// V - V
impl<T: Numeric> Sub for Var<T> {type Output = Self;fn sub(self, b: Self) -> Self::Output {Var(self.0 - b.0)}
}/// 与常量运算(新增加)
/// V * C
impl<T: Numeric, C:Integer + Mul<Var<T>>> Mul<C> for Var<T> {type Output = <C as Mul<Var<T>>>::Output;fn mul(self, c: C) -> Self::Output {c * self}
}/// V + C
impl<T: Numeric, C: Integer + Add<Var<T>>> Add<C> for Var<T> {type Output = <C as Add<Var<T>>>::Output;fn add(self, c:C) -> Self::Output {c + self}
}/// V - C
impl<T: Numeric, C: Integer + Neg> Sub<C> for Var<T>
where <C as Neg>::Output: Add<Var<T>>,
{type Output = < C::Output as Add<Var<T>> >::Output;fn sub(self, c: C) -> Self::Output {-c+self}
}

二、Numeric Trait

pub trait Numeric:Neg<Output = Self> +Add<Output = Self> +Sub<Output = Self> +Mul<Output = Self> +From<i32> +Copy +Sized
{}

这个 trait 定义了数值类型需要实现的操作和特性:

  • 必须实现取反(Neg)、加(Add)、减(Sub)、乘(Mul)运算

  • 可以从i32类型转换(From)

  • 必须是可拷贝的(Copy)和大小固定的(Sized)

为i64和f64实现了这个 trait,表示这两种类型可以用作Var的泛型参数。

三、Var 结构体

#[derive(Debug, Clone, Copy, PartialEq, Default)]
pub struct Var<T: Numeric>(pub T);

这是一个简单的元组结构体,包装了一个泛型值T,其中T必须实现Numeric trait。它自动派生了一些常用 trait:

  • Debug: 可以打印调试信息

  • Clone/Copy: 可以克隆/拷贝

  • PartialEq: 可以比较相等性

  • Default: 有默认值

四、基本运算实现

Var 与 Var 的运算
impl<T: Numeric> Mul<Var<T>> for Var<T> {type Output = Self;fn mul(self, b: Self) -> Self::Output {Var(self.0 * b.0)}
}

实现了Var之间的乘法运算,实际上是解包内部值相乘后再包装成新的Var。

类似的还实现了:

  • 加法(Add)

  • 取反(Neg)

  • 减法(Sub)

五、与常量的运算(新增)

Var 与常量©的乘法

impl<T: Numeric, C: Integer + Mul<Var<T>>> Mul<C> for Var<T> {type Output = <C as Mul<Var<T>>>::Output;fn mul(self, c: C) -> Self::Output {c * self}
}

这里委托给常量的Mul<Var>实现,让常量类型决定如何与Var相乘。

Var 与常量©的加法
impl<T: Numeric, C: Integer + Add<Var<T>>> Add<C> for Var<T> {type Output = <C as Add<Var<T>>>::Output;fn add(self, c: C) -> Self::Output {c + self}
}

同样委托给常量的Add<Var>实现。

Var 与常量©的减法
impl<T: Numeric, C: Integer + Neg> Sub<C> for Var<T>
where <C as Neg>::Output: Add<Var<T>>,
{type Output = < C::Output as Add<Var<T>> >::Output;fn sub(self, c: C) -> Self::Output {-c + self}
}

这里通过取反常量然后与Var相加来实现减法,要求常量类型C:

  1. 可以实现取反(Neg)

  2. 取反后的结果可以实现与Var相加

六、总结

这个Var结构体是一个简单的数值包装器,主要目的是:

  1. 封装数值类型

  2. 提供各种数学运算的实现

  3. 支持与常量类型的运算

通过泛型和 trait 约束,它可以灵活地支持不同的数值类型(i64, f64等)和各种运算操作。

http://www.dtcms.com/wzjs/184509.html

相关文章:

  • wordpress域名绑定外链seo
  • 信誉好的o2o网站建设网站seo技术
  • 常州百度关键词优化企业seo关键词优化
  • 网站可以做伦理片吗关键词排名优化易下拉霸屏
  • html5网站开发开题报告百度云搜索引擎入口百度网盘
  • 企业建站团队广告公司取名字参考大全
  • 介绍几个能进去的a站营销活动方案
  • 安顺市哪里可以做网站一个新手如何推销产品
  • 为外国人做非法网站和生活爱辽宁免费下载安装
  • 杭州网站搭建公司网络推广关键词优化公司
  • 校园二手网站的建设方案小程序引流推广平台
  • 网站seo诊断报告例子新闻稿件
  • 饮食中心网站建设方案百度指数分析大数据
  • .net开发的网站能做优化吗成都爱站网seo站长查询工具
  • 好听的公司名字大全集北京网站建设优化
  • 南京企业网站cps广告是什么意思
  • 全景网站建设手机网站制作软件
  • 建设网站需要机房吗网站代理公司
  • 英语培训学校网站怎么做如何推销自己的产品
  • 网站建设所需素材深圳网络公司推广
  • 哈尔滨网站搜索优化公司seo什么职位
  • vultr怎么做网站百度收录快速提交
  • 手机设计长沙专业seo优化公司
  • 网站建设公司程序今天的新闻 最新消息
  • 网站运营规划seo搜索优化技术
  • 快速网站建设费用企业营销策划书如何编写
  • 局域网怎么做网站长春网站制作系统
  • 游戏网站开发试验报告今日中央新闻
  • 给网站开发自己的一封信推荐就业的培训机构
  • 网页设计网站教程抖音竞价推广怎么做