mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
Updated casts (#684)
Cast code rework. Remove llvm_set_bool and friends.
This commit is contained in:
committed by
GitHub
parent
e2b4a19c81
commit
f46697bc54
@@ -18,7 +18,7 @@ struct TempAllocator
|
||||
}
|
||||
|
||||
|
||||
private const usz PAGE_IS_ALIGNED = (usz)isz.max + 1;
|
||||
private const usz PAGE_IS_ALIGNED = (usz)isz.max + 1u;
|
||||
|
||||
|
||||
struct TempAllocatorPage
|
||||
|
||||
@@ -215,17 +215,17 @@ private macro fixuint(a)
|
||||
const EXPONENT_BITS = 15;
|
||||
const SIGNIFICANT_BITS = 112;
|
||||
$endswitch;
|
||||
const MAX_EXPONENT = 1 << EXPONENT_BITS - 1;
|
||||
const EXPONENT_BIAS = MAX_EXPONENT >> 1;
|
||||
const ONE_REP = (ulong)EXPONENT_BIAS << SIGNIFICANT_BITS;
|
||||
const SIGN_BIT = ($Rep)1 << (EXPONENT_BITS + SIGNIFICANT_BITS);
|
||||
const ABS_MASK = SIGN_BIT - 1;
|
||||
const IMPLICIT_BIT = ($Rep)1 << SIGNIFICANT_BITS;
|
||||
const SIGNIFICANT_MASK = IMPLICIT_BIT - 1;
|
||||
const EXPONENT_MASK = ABS_MASK ^ SIGNIFICANT_MASK;
|
||||
const QUIET_BIT = IMPLICIT_BIT >> 1;
|
||||
const QNAN_REP = EXPONENT_MASK | QUIET_BIT;
|
||||
const INF_REP = EXPONENT_MASK;
|
||||
const $Rep MAX_EXPONENT = ($Rep)1 << EXPONENT_BITS - 1u;
|
||||
const $Rep EXPONENT_BIAS = MAX_EXPONENT >> 1u;
|
||||
const $Rep ONE_REP =EXPONENT_BIAS << SIGNIFICANT_BITS;
|
||||
const $Rep SIGN_BIT = ($Rep)1 << (EXPONENT_BITS + SIGNIFICANT_BITS);
|
||||
const $Rep ABS_MASK = SIGN_BIT - 1u;
|
||||
const $Rep IMPLICIT_BIT = ($Rep)1 << SIGNIFICANT_BITS;
|
||||
const $Rep SIGNIFICANT_MASK = IMPLICIT_BIT - 1u;
|
||||
const $Rep EXPONENT_MASK = ABS_MASK ^ SIGNIFICANT_MASK;
|
||||
const $Rep QUIET_BIT = IMPLICIT_BIT >> 1;
|
||||
const $Rep QNAN_REP = EXPONENT_MASK | QUIET_BIT;
|
||||
const $Rep INF_REP = EXPONENT_MASK;
|
||||
|
||||
$Rep rep = bitcast(a, $Rep);
|
||||
$Rep abs = rep & ABS_MASK;
|
||||
@@ -259,17 +259,17 @@ private macro fixint(a)
|
||||
const EXPONENT_BITS = 15;
|
||||
const SIGNIFICANT_BITS = 112;
|
||||
$endswitch;
|
||||
const MAX_EXPONENT = 1 << EXPONENT_BITS - 1;
|
||||
const EXPONENT_BIAS = MAX_EXPONENT >> 1;
|
||||
const ONE_REP = (ulong)EXPONENT_BIAS << SIGNIFICANT_BITS;
|
||||
const SIGN_BIT = ($Rep)1 << (EXPONENT_BITS + SIGNIFICANT_BITS);
|
||||
const ABS_MASK = SIGN_BIT - 1;
|
||||
const IMPLICIT_BIT = ($Rep)1 << SIGNIFICANT_BITS;
|
||||
const SIGNIFICANT_MASK = IMPLICIT_BIT - 1;
|
||||
const EXPONENT_MASK = ABS_MASK ^ SIGNIFICANT_MASK;
|
||||
const QUIET_BIT = IMPLICIT_BIT >> 1;
|
||||
const QNAN_REP = EXPONENT_MASK | QUIET_BIT;
|
||||
const INF_REP = EXPONENT_MASK;
|
||||
const $Rep MAX_EXPONENT = ($Rep)1 << EXPONENT_BITS - 1u;
|
||||
const $Rep EXPONENT_BIAS = MAX_EXPONENT >> 1u;
|
||||
const $Rep ONE_REP = EXPONENT_BIAS << SIGNIFICANT_BITS;
|
||||
const $Rep SIGN_BIT = ($Rep)1 << (EXPONENT_BITS + SIGNIFICANT_BITS);
|
||||
const $Rep ABS_MASK = SIGN_BIT - 1u;
|
||||
const $Rep IMPLICIT_BIT = ($Rep)1 << SIGNIFICANT_BITS;
|
||||
const $Rep SIGNIFICANT_MASK = IMPLICIT_BIT - 1u;
|
||||
const $Rep EXPONENT_MASK = ABS_MASK ^ SIGNIFICANT_MASK;
|
||||
const $Rep QUIET_BIT = IMPLICIT_BIT >> 1;
|
||||
const $Rep QNAN_REP = EXPONENT_MASK | QUIET_BIT;
|
||||
const $Rep INF_REP = EXPONENT_MASK;
|
||||
|
||||
$Rep rep = bitcast(a, $Rep);
|
||||
$Rep abs = rep & ABS_MASK;
|
||||
|
||||
Reference in New Issue
Block a user