Reinitializes a byte array to the given value in an optimized way: byteArraySet : Byte Array « File Stream « C# / C Sharp

Home
C# / C Sharp
1.2D Graphics
2.Class Interface
3.Collections Data Structure
4.Components
5.Data Types
6.Database ADO.net
7.Design Patterns
8.Development Class
9.Event
10.File Stream
11.Generics
12.GUI Windows Form
13.Language Basics
14.LINQ
15.Network
16.Office
17.Reflection
18.Regular Expressions
19.Security
20.Services Event
21.Thread
22.Web Services
23.Windows
24.Windows Presentation Foundation
25.XML
26.XML LINQ
C# / C Sharp by API
C# / CSharp Tutorial
C# / CSharp Open Source
C# / C Sharp » File Stream » Byte ArrayScreenshots 
Reinitializes a byte array to the given value in an optimized way: byteArraySet
 

/*
* CVS identifier:
*
* $Id: ArrayUtil.java,v 1.10 2000/09/05 09:25:15 grosbois Exp $
*
* Class:                   ArrayUtil
*
* Description:             Utillities for arrays.
*
*
*
* COPYRIGHT:

* This software module was originally developed by Raphaël Grosbois and
* Diego Santa Cruz (Swiss Federal Institute of Technology-EPFL); Joel
* Askelöf (Ericsson Radio Systems AB); and Bertrand Berthelot, David
* Bouchard, Félix Henry, Gerard Mozelle and Patrice Onno (Canon Research
* Centre France S.A) in the course of development of the JPEG2000
* standard as specified by ISO/IEC 15444 (JPEG 2000 Standard). This
* software module is an implementation of a part of the JPEG 2000
* Standard. Swiss Federal Institute of Technology-EPFL, Ericsson Radio
* Systems AB and Canon Research Centre France S.A (collectively JJ2000
* Partners) agree not to assert against ISO/IEC and users of the JPEG
* 2000 Standard (Users) any of their rights under the copyright, not
* including other intellectual property rights, for this software module
* with respect to the usage by ISO/IEC and Users of this software module
* or modifications thereof for use in hardware or software products
* claiming conformance to the JPEG 2000 Standard. Those intending to use
* this software module in hardware or software products are advised that
* their use may infringe existing patents. The original developers of
* this software module, JJ2000 Partners and ISO/IEC assume no liability
* for use of this software module or modifications thereof. No license
* or right to this software module is granted for non JPEG 2000 Standard
* conforming products. JJ2000 Partners have full right to use this
* software module for his/her own purpose, assign or donate this
* software module to any third party and to inhibit third parties from
* using this software module for non JPEG 2000 Standard conforming
* products. This copyright notice must be included in all copies or
* derivative works of this software module.

* Copyright (c) 1999/2000 JJ2000 Partners.



*/
using System;
namespace CSJ2K.j2k.util
{
  
  /// <summary> This class contains a colleaction of utility static methods for arrays.
  /// 
  /// </summary>
  public class ArrayUtil
  {
    
    /// <summary>The maximum array size to do element by element copying, larger
    /// arrays are copyied in a n optimized way. 
    /// </summary>
    public const int MAX_EL_COPYING = 8;
    
    /// <summary>The number of elements to copy initially in an optimized array copy </summary>
    public const int INIT_EL_COPYING = 4;
    
    /// <summary> Reinitializes a byte array to the given value in an optimized way. If
    /// the length of the array is less than MAX_EL_COPYING, then the array
    /// is set element by element in the normal way, otherwise the first
    /// INIT_EL_COPYING elements are set element by element and then
    /// System.arraycopy is used to set the other parts of the array.
    /// 
    /// </summary>
    /// <param name="arr">The array to set.
    /// 
    /// </param>
    /// <param name="val">The value to set the array to.
    /// 
    /// 
    /// 
    /// </param>
    public static void  byteArraySet(byte[] arr, byte val)
    {
      int i, len, len2;
      
      len = arr.Length;
      // Set array to 'val' in an optimized way
      if (len < MAX_EL_COPYING)
      {
        // Not worth doing optimized way
        for (i = len - 1; i >= 0; i--)
        {
          // Set elements
          arr[i= val;
        }
      }
      else
      {
        // Do in optimized way
        len2 = len >> 1;
        for (i = 0; i < INIT_EL_COPYING; i++)
        {
          // Set first elements
          arr[i= val;
        }
        for (; i <= len2; i <<= 1)
        {
          // Copy values doubling size each time
          Array.Copy(arr, 0, arr, i, i);
        }
        if (i < len)
        {
          // Copy values to end
          Array.Copy(arr, 0, arr, i, len - i);
        }
      }
    }
  }
}

   
  
Related examples in the same category
1.Convert a byte array to string using default encoding
2.Get the byte array from a string using default encoding
3.Write a byte array to a file
4.Read byte array from file
5.Read Stream to Byte array
6.Save Byte Array To File
7.Bit Array To Byte Array
8.Bit Array To Byte Array
9.Checks if the input byte array contains only safe values, the data does not need to be encoded for use with LDIF
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.