Example #1
0
//************************************
// Method:    operator-=
// FullName:  subtract all element of image by corresponding element in right operand
// Access:    
// Returns:   
// Qualifier: 
// Parameter: 
//************************************
const C2DRaw& C2DRaw::operator-=(const C2DRaw& opright)
{
	ASSERT(opright.IsValid() && IsValid());
	for(int i=0; i<GetNumberOfRow(); i++)
	{
		for(int j=0; j< GetNumberOfCol(); j++)
		{
			if ((GetElementAt(i,j) - opright.GetElementAt(i,j)) < ELEMENT_MIN)
			{
				SetElementAt(i, j, ELEMENT_MIN);
			} 
			else
			{
				SetElementAt(i, j, GetElementAt(i,j) - opright.GetElementAt(i,j));
			}			
		}
	}	
	return *this;
}
NS_IMETHODIMP
HTMLFormControlsCollection::Item(uint32_t aIndex, nsIDOMNode** aReturn)
{
  nsISupports* item = GetElementAt(aIndex);
  if (!item) {
    *aReturn = nullptr;

    return NS_OK;
  }

  return CallQueryInterface(item, aReturn);
}
  bool Add(void* value) {
    size_t new_size = m_current_size_ + 1;
    
    if (new_size > m_max_size_) {
      DXFW_TRACE(__FILE__, __LINE__, true, "Attempted to add an element to a full structured buffer with max size %d", m_max_size_);
      return false;
    }

    std::memcpy(GetElementAt(m_current_size_), value, m_element_size_);
    m_current_size_ = new_size;
    return true;
  }
Example #4
0
//************************************
// Method:    operator*=
// FullName:  multiple all element of image with corresponding element in right operand
// Access:    
// Returns:   
// Qualifier: 
// Parameter: 
//************************************
const C2DRaw& C2DRaw::operator*=(const C2DRaw& opright)
{
	ASSERT(opright.IsValid() && IsValid());
	for(int i=0; i<GetNumberOfRow(); i++)
	{
		// TEMPORARY [12/19/2007 QUYPS]
		for(int j=0; j< GetNumberOfCol(); j++)
		{
			if ((GetElementAt(i,j) * opright.GetElementAt(i,j)) > ELEMENT_MAX)
			{
				SetElementAt(i, j, ELEMENT_MAX);
			} 
			else
			{
				SetElementAt(i, j, GetElementAt(i,j) * opright.GetElementAt(i,j));
			}
			
		}
	}	
	return *this;
}
Example #5
0
//************************************
// Method:    operator-=
// FullName:  subtract by a constant value
// Access:    
// Returns:   
// Qualifier: 
// Parameter: 
//************************************
const C2DRaw& C2DRaw::operator-=(const INT nRight)
{
	ASSERT(IsValid());
	element eRight(nRight);
	for(int i=0; i<GetNumberOfRow(); i++)
	{
		for(int j=0; j< GetNumberOfCol(); j++)
		{
			if ((GetElementAt(i,j) - eRight) < ELEMENT_MIN)
			{
				SetElementAt(i, j, ELEMENT_MIN);
			} 
			else
			{
				SetElementAt(i, j, GetElementAt(i,j) - eRight);
			}			
		}
	}

	return *this;
}
Example #6
0
//************************************
// Method:    operator*=
// FullName:  multiple with a constant value
// Access:    
// Returns:   
// Qualifier: 
// Parameter: 
//************************************
const C2DRaw& C2DRaw::operator*=(const INT nRight)
{
	ASSERT(IsValid());
	element eRight(nRight);
	for(int i=0; i<GetNumberOfRow(); i++)
	{
		for(int j=0; j< GetNumberOfCol(); j++)
		{
			// TEMPORARY [12/19/2007 QUYPS]
			if ((GetElementAt(i,j) * eRight) > ELEMENT_MAX)
			{
				SetElementAt(i, j, ELEMENT_MAX);
			} 
			else
			{
				SetElementAt(i, j, GetElementAt(i,j) * eRight);
			}			
		}
	}
	
	return *this;
}
Example #7
0
void Dictionary::RemoveAt(unsigned int position)
{
	KeyPair item = KeyPair();
	if (GetElementAt(position, &item))
	{
		if (RemoveFromDict(&item))
		{
			throw new exception("NO BORRADO");
		}
	}
	else
	{
		throw new exception("NO TOY");
	}
}
Example #8
0
//************************************
// Method:    operator-
// FullName:  unary invert operator: element = 255 - element
// Access:    
// Returns:   
// Qualifier: 
// Parameter: 
//************************************
const C2DRaw& C2DRaw::operator-() const
{
	ASSERT(IsValid());
	C2DRaw temp(m_nRows, m_nColums);
	element eMax(ELEMENT_MAX);

	for(int i=0; i<temp.GetNumberOfRow(); i++)
	{
		for(int j=0; j< temp.GetNumberOfCol(); j++)
		{
			temp.SetElementAt(i, j, eMax - GetElementAt(i,j));
		}
	}
	return temp;
}
Example #9
0
void MultiBoxView::Draw(BRect urect)
{
	UpdateProperties();

	BRect rect;
	int32 element;
	for (int32 i=0; i<numcols; i++) {
		for (int32 j=0; j<numrows; j++) {
//_sPrintf("i: %d, j: %d\n", i, j);
			element = GetElementAt(j, i);
			GetRectAt(element, &rect);
			if (urect.Intersects(rect))
			{
				DrawContentBox(element);
			}
		}
	}
	// clear bottom area of view
	rect = Bounds();
	rect.top = numrows * rowheight + 1;
	SetHighColor(ui_color(B_PANEL_BACKGROUND_COLOR));
	FillRect(rect);
}
int main()
{
    SimpleHeap aHeap;
    SimpleList elements;
    long input, i;
    double key;
    long *element;
    tHeapElement *extractedElement;
    char strInp[256];
    InitHeap(&aHeap, 10);
    while (1) {
        printf("1. Add element.\n");
        printf("2. Extract min element.\n");
        printf("3. Extract element at index.\n");
        printf("4. Exit.\n");
        scanf("%ld", &input);
        if (input == 4) {
            break;
        }
        if (1 == input)
        {
            printf("Enter element key:\n");
            scanf("%lf", &key);
            printf("Enter element itself (long number):\n");
            scanf("%ld", &input);
            element = malloc(sizeof(long));
            if (!element) printf("element error\n");
            *element = input;
            if (!AddElementToHeap(&aHeap, key, element, NULL))
                printf("Added new element successfully\n");
            else { printf("Failed to add element, probably memory problems...\n"); break; }
                
        }
        else if (2 == input)
        {
            printf("Extracting min element...\n");
            extractedElement = ExtractMinElement(&aHeap, NULL);
            if (extractedElement)
            {
                printf("Element key:%lf, element itself:%ld.\n", extractedElement->key, *(long*) extractedElement->element);
                free(extractedElement->element);
                free(extractedElement);
            }
            else
                printf("No elements in heap.\n");
        }
        else if (3 == input)
        {
            printf("Enter element index:\n");
            scanf("%ld", &input);
            extractedElement = PopHeapElementAtIndex(&aHeap, input, NULL);
            if (!extractedElement)
                printf("Index out of bounds.\n");
            else
            {
                printf("Element key:%lf, element itself:%ld\n", extractedElement->key, *(long*) extractedElement->element);
                free(extractedElement->element);
                free(extractedElement);                
            }
        }

        printf("Current heap keys:\n");
        elements = aHeap.elements;
        for (i = 0; i < elements.currentNum; ++i)
        	printf("%lf ", ((tHeapElement*)GetElementAt(&elements, i))->key);
        printf("\n");
    }
    DisposeHeapWithElements(&aHeap);
    return 0;
}