mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-06-16 08:21:44 +00:00
Use macro style for more internal helpers; Update dist files
This commit is contained in:
@ -3,7 +3,7 @@ import {
|
||||
} from "./internal/arraybuffer";
|
||||
|
||||
import {
|
||||
hash
|
||||
HASH
|
||||
} from "./internal/hash";
|
||||
|
||||
// A deterministic hash map based on CloseTable from https://github.com/jorendorff/dht
|
||||
@ -80,16 +80,16 @@ export class Map<K,V> {
|
||||
}
|
||||
|
||||
has(key: K): bool {
|
||||
return this.find(key, hash<K>(key)) !== null;
|
||||
return this.find(key, HASH<K>(key)) !== null;
|
||||
}
|
||||
|
||||
get(key: K): V {
|
||||
var entry = this.find(key, hash<K>(key));
|
||||
var entry = this.find(key, HASH<K>(key));
|
||||
return entry ? entry.value : <V>unreachable();
|
||||
}
|
||||
|
||||
set(key: K, value: V): void {
|
||||
var hashCode = hash<K>(key);
|
||||
var hashCode = HASH<K>(key);
|
||||
var entry = this.find(key, hashCode);
|
||||
if (entry) {
|
||||
entry.value = value;
|
||||
@ -120,7 +120,7 @@ export class Map<K,V> {
|
||||
}
|
||||
|
||||
delete(key: K): bool {
|
||||
var entry = this.find(key, hash<K>(key));
|
||||
var entry = this.find(key, HASH<K>(key));
|
||||
if (!entry) return false;
|
||||
entry.taggedNext |= EMPTY;
|
||||
--this.entriesCount;
|
||||
@ -149,7 +149,7 @@ export class Map<K,V> {
|
||||
let newEntry = changetype<MapEntry<K,V>>(newPtr);
|
||||
newEntry.key = oldEntry.key;
|
||||
newEntry.value = oldEntry.value;
|
||||
let newBucketIndex = hash<K>(oldEntry.key) & newBucketsMask;
|
||||
let newBucketIndex = HASH<K>(oldEntry.key) & newBucketsMask;
|
||||
let newBucketPtrBase = changetype<usize>(newBuckets) + <usize>newBucketIndex * BUCKET_SIZE;
|
||||
newEntry.taggedNext = load<usize>(newBucketPtrBase, HEADER_SIZE_AB);
|
||||
store<usize>(newBucketPtrBase, newPtr, HEADER_SIZE_AB);
|
||||
|
Reference in New Issue
Block a user