Package it.unimi.dsi.fastutil.longs

Examples of it.unimi.dsi.fastutil.longs.LongSortedSet


        return channels.keySet();
    }

    @Override
    public ImmutableSparseVector combineWith(SparseVector o) {
        LongSortedSet key = this.keyDomain();
        LongSortedSet newKey = o.keyDomain();
        MutableSparseVector result = MutableSparseVector.create(LongUtils.setUnion(key, newKey));
        result.set(this);
        result.set(o);
        return result.freeze();
    }
View Full Code Here


    @Test
    public void testMaskEmpty() {
        LongKeyDomain keys = LongKeyDomain.create(2, 7, 8, 42, 639);
        keys.setAllActive(false);
        LongSortedSet set = new LongSortedArraySet(keys);

        assertThat(set.size(), equalTo(0));
        assertTrue(set.isEmpty());
        assertFalse(set.iterator().hasNext());
        for (int i = 0; i < keys.domainSize(); i++) {
            assertFalse(set.contains(keys.getKey(i)));
        }
    }
View Full Code Here

    public void testMaskedIterator() {
        LongKeyDomain keys = LongKeyDomain.create(2, 7, 8, 42, 639);
        keys.setAllActive(true);
        keys.setActive(0, false);
        keys.setActive(4, false);
        LongSortedSet set = new LongSortedArraySet(keys);
        assertTrue(set.iterator(7).hasNext());
        assertTrue(set.iterator(7).hasPrevious());
        assertThat(set.iterator(7).nextLong(), equalTo(8l));
        assertThat(set.iterator(7).previousLong(), equalTo(7l));
    }
View Full Code Here

    public void testMaskedIteratorMid() {
        LongKeyDomain keys = LongKeyDomain.create(2, 7, 8, 42, 639);
        keys.setAllActive(true);
        keys.setActive(0, false);
        keys.setActive(2, false);
        LongSortedSet set = new LongSortedArraySet(keys);
        assertTrue(set.iterator(8).hasNext());
        assertTrue(set.iterator(8).hasPrevious());
        assertThat(set.iterator(8).nextLong(), equalTo(42l));
        assertThat(set.iterator(8).previousLong(), equalTo(7l));
    }
View Full Code Here

    /**
     * Write a user or item index to the file.
     * @param map The index to write.
     */
    private void writeIndex(Long2ObjectMap<IntList> map) throws IOException {
        LongSortedSet keys = LongUtils.packedSet(map.keySet());
        BinaryIndexTableWriter tableWriter =
                BinaryIndexTableWriter.create(format, channel, keys.size());

        SortComparator indexComparator = new SortComparator();

        LongIterator iter = keys.iterator();
        while (iter.hasNext()) {
            final long key = iter.nextLong();
            int[] indexes = map.get(key).toIntArray();
            if (needsSorting) {
                IntArrays.quickSort(indexes, indexComparator);
View Full Code Here

     * is a subset of the cached items, use the cache; otherwise score the
     * new items and update the cached scores.
     */
    @Override
    public void score(long user, @Nonnull MutableSparseVector scores){
        LongSortedSet reqItems = scores.keyDomain();
        if(cachedId == user && cachedScores != null) {
            LongSortedSet cachedItems = cachedScores.keyDomain();
            if(!cachedItems.containsAll(reqItems)) {
                LongSortedSet diffItems = LongUtils.setDifference(reqItems, cachedItems);
                SparseVector newCache = scorer.score(user, diffItems);
                cachedScores = cachedScores.combineWith(newCache);
            }
            scores.set(cachedScores);
        } else {
View Full Code Here

        SparseVector predictions = user.getPredictions();
        if (predictions == null) {
            predictions = MutableSparseVector.create();
        }

        LongSortedSet items = ratings.keySet();
        if (!items.containsAll(predictions.keySet())) {
            items = LongUtils.setUnion(items, predictions.keySet());
        }

        logger.debug("outputting {} predictions for user {}", predictions.size(), user.getUserId());
        for (LongIterator iter = items.iterator(); iter.hasNext(); /* no increment */) {
            long item = iter.nextLong();
            Double rating = ratings.containsKey(item) ? ratings.get(item) : null;
            Double pred = predictions.containsKey(item) ? predictions.get(item) : null;
            try {
                List<Object> row = Lists.<Object>newArrayList(user.getUserId(), item, rating, pred);
View Full Code Here

TOP

Related Classes of it.unimi.dsi.fastutil.longs.LongSortedSet

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.