优化Flags

This commit is contained in:
YHH
2020-06-12 08:56:10 +08:00
parent 6fa56dd572
commit da5a1a0c79
7 changed files with 29 additions and 26 deletions

View File

@@ -503,10 +503,10 @@ declare class Time {
declare class Flags { declare class Flags {
static isFlagSet(self: number, flag: number): boolean; static isFlagSet(self: number, flag: number): boolean;
static isUnshiftedFlagSet(self: number, flag: number): boolean; static isUnshiftedFlagSet(self: number, flag: number): boolean;
static setFlagExclusive(self: number, flag: number): void; static setFlagExclusive(self: number, flag: number): number;
static setFlag(self: number, flag: number): void; static setFlag(self: number, flag: number): number;
static unsetFlag(self: number, flag: number): void; static unsetFlag(self: number, flag: number): number;
static invertFlags(self: number): void; static invertFlags(self: number): number;
} }
declare class MathHelper { declare class MathHelper {
static toDegrees(radians: number): number; static toDegrees(radians: number): number;

View File

@@ -2347,17 +2347,17 @@ var Flags = (function () {
return (self & flag) != 0; return (self & flag) != 0;
}; };
Flags.setFlagExclusive = function (self, flag) { Flags.setFlagExclusive = function (self, flag) {
self = 1 << flag; return 1 << flag;
}; };
Flags.setFlag = function (self, flag) { Flags.setFlag = function (self, flag) {
self = (self | 1 << flag); return (self | 1 << flag);
}; };
Flags.unsetFlag = function (self, flag) { Flags.unsetFlag = function (self, flag) {
flag = 1 << flag; flag = 1 << flag;
self = (self & (~flag)); return (self & (~flag));
}; };
Flags.invertFlags = function (self) { Flags.invertFlags = function (self) {
self = ~self; return ~self;
}; };
return Flags; return Flags;
}()); }());

File diff suppressed because one or more lines are too long

View File

@@ -503,10 +503,10 @@ declare class Time {
declare class Flags { declare class Flags {
static isFlagSet(self: number, flag: number): boolean; static isFlagSet(self: number, flag: number): boolean;
static isUnshiftedFlagSet(self: number, flag: number): boolean; static isUnshiftedFlagSet(self: number, flag: number): boolean;
static setFlagExclusive(self: number, flag: number): void; static setFlagExclusive(self: number, flag: number): number;
static setFlag(self: number, flag: number): void; static setFlag(self: number, flag: number): number;
static unsetFlag(self: number, flag: number): void; static unsetFlag(self: number, flag: number): number;
static invertFlags(self: number): void; static invertFlags(self: number): number;
} }
declare class MathHelper { declare class MathHelper {
static toDegrees(radians: number): number; static toDegrees(radians: number): number;

View File

@@ -2347,17 +2347,17 @@ var Flags = (function () {
return (self & flag) != 0; return (self & flag) != 0;
}; };
Flags.setFlagExclusive = function (self, flag) { Flags.setFlagExclusive = function (self, flag) {
self = 1 << flag; return 1 << flag;
}; };
Flags.setFlag = function (self, flag) { Flags.setFlag = function (self, flag) {
self = (self | 1 << flag); return (self | 1 << flag);
}; };
Flags.unsetFlag = function (self, flag) { Flags.unsetFlag = function (self, flag) {
flag = 1 << flag; flag = 1 << flag;
self = (self & (~flag)); return (self & (~flag));
}; };
Flags.invertFlags = function (self) { Flags.invertFlags = function (self) {
self = ~self; return ~self;
}; };
return Flags; return Flags;
}()); }());

File diff suppressed because one or more lines are too long

View File

@@ -1,9 +1,12 @@
/** /**
* 帮助处理位掩码的实用程序类 * 帮助处理位掩码的实用程序类
* 除了isFlagSet之外所有方法都期望flag参数是一个非移位的标志
* 允许您使用普通的(0、1、2、3等)来设置/取消您的标记
*/ */
class Flags { class Flags {
/** /**
* 检查位标志是否已在整型中设置 * 检查位标志是否已在数值中设置
* 检查期望标志是否已经移位
* @param self * @param self
* @param flag * @param flag
*/ */
@@ -12,7 +15,7 @@ class Flags {
} }
/** /**
* 检查位标志是否在整型中设置 * 检查位标志是否在数值中设置
* @param self * @param self
* @param flag * @param flag
*/ */
@@ -22,12 +25,12 @@ class Flags {
} }
/** /**
* 设置标志位,移除所有已经设置的标志 * 设置数值标志位,移除所有已经设置的标志
* @param self * @param self
* @param flag * @param flag
*/ */
public static setFlagExclusive(self: number, flag: number){ public static setFlagExclusive(self: number, flag: number){
self = 1 << flag; return 1 << flag;
} }
/** /**
@@ -36,7 +39,7 @@ class Flags {
* @param flag * @param flag
*/ */
public static setFlag(self: number, flag: number){ public static setFlag(self: number, flag: number){
self = (self | 1 << flag); return (self | 1 << flag);
} }
/** /**
@@ -46,14 +49,14 @@ class Flags {
*/ */
public static unsetFlag(self: number, flag: number){ public static unsetFlag(self: number, flag: number){
flag = 1 << flag; flag = 1 << flag;
self = (self & (~flag)); return (self & (~flag));
} }
/** /**
* 反转集合位 * 反转数值集合位
* @param self * @param self
*/ */
public static invertFlags(self: number){ public static invertFlags(self: number){
self = ~self; return ~self;
} }
} }