does analogWrite warp?

basic question.
running this modified example i get something that looks like a byte warp.
does PWM when going over 255 or below 0 warp?
and if so, where can i read about it.

// Fading LED 
// by BARRAGAN <http://people.interaction-ivrea.it/h.barragan> 

int value = 0;                            // variable to keep the actual value 
int ledpin = 11;                           // light connected to digital pin 9
 
void setup() 
{ 
  // nothing for setup 
} 
 
void loop() 
{ 
  for(value = -30 ; value <= 355; value+=5) // fade in (from min to max) 
  { 
    analogWrite(ledpin, value);           // sets the value (range from 0 to 255) 
    delay(30);                            // waits for 30 milli seconds to see the dimming effect 
  } 
  delay(3000);
  for(value = 355; value >=30; value-=5)   // fade out (from max to min) 
  { 
    analogWrite(ledpin, value); 
    delay(30); 
  }  
}

The reference for byte http://www.arduino.cc/en/Reference/Byte says that byte is an unsigned 8 bit value. So when you pass a negative argument into function that expects an unsigned value it will convert to the two compliments representation and truncate to 8 bits. That is unlikely to be what you want, but if you are curious and want to see what these are, you could write a little sketch that does a serial print of the decimal representation of your values cast to a byte. I suggest you scale values so they are between 0 and 255

A google search for cast and C may yield more ifor you to read on how the compiler handles various casts.

Hope that helps