lists.lysator.liu.se
Sign In Sign Up
  • Sign In
  • Sign Up
  • Manage this list

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

2025

  • June
  • May
  • April
  • March
  • February
  • January

2024

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2023

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2022

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2021

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2020

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2019

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2018

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2017

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2016

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2015

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2014

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2013

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2012

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2011

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2010

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2009

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2008

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2007

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2006

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2005

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2004

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2003

  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January

2002

  • December
  • November
  • October
  • September
List overview
Download
thread

Xor

Niels M�ller () @ Pike (-) developers forum
6 Feb 2003 6 Feb '03
11 a.m.

Personally, I don't quite understood why we have multisets at all. In principle, a multiset is the same thing as a mixed:int(0,...) mapping.

/ Niels Möller ()

Previous text:

...

2003-02-06 10:12: Subject: Xor


I have been wondering why the index operations on multisets work like they do:

| > multiset v=(<1,1,1>); | > v[1]; | Result: 1 | > v[1]=0; | Result: 0 | > v; | Result: (<1,1>)

This could of course be used to do a `- that removes one for one:

multiset res=copy_value(v); foreach (v;mixed elem;) res[elem]=0; // remove one

But why doesn't v[1] return 3 above, and remove all the elements with v[1]=0?

It would also be much more useful to do v[1]=17 to get 17 of element 1. You can't, however, even add elements using that method now:

| > v[1]=17; | Result: 17 | > v; | Result: (<1,1>) | > v[1]=1; | Result: 1 | > v; | Result: (<1,1>)

How much would break if we fixed this behaviour, so that

multiset v=(<1,1,1>); v[1] == 3 v[1]=0 => v==(<>) v[1]=17 => v==(<1,1,1,1...1,1>) /* 17 elements */

Sidenote: This code works for the above `- for both the current and my suggestion:

multiset res=copy_value(v); foreach (v;mixed elem;int n) res[elem]-=n; // remove n

/ Mirar

0 0
Reply

Back to the thread

Back to the list

Powered by HyperKitty version 1.3.7.