Patch title: Release 90 bulk changes
Abstract:
File: /graphic/color/spectrum.pli
Key:
    Removed line
    Added line
   
abstract
  [Color spectrum handling functions]


function '+' s1 s2 -> s
  arg ColorSpectrum32 s1 s2 s
  for (var Int i) 0 nm_count-1
    s:measure i := s1:measure:i + s2:measure:i
  
function '-' s1 s2 -> s
  arg ColorSpectrum32 s1 s2 s
  for (var Int i) 0 nm_count-1
    s:measure i := s1:measure:i - s2:measure:i
  
function '*' c s1 -> s
  arg Float c ; arg ColorSpectrum32 s1 s
  for (var Int i) 0 nm_count-1
    s:measure i := c * s1:measure:i
  
function '*' s1 s2 -> s
  arg ColorSpectrum32 s1 s2 s
  for (var Int i) 0 nm_count-1
    s:measure i := s1:measure:i * s2:measure:i
  
function '/' s1 s2 -> s
  arg ColorSpectrum32 s1 s2 s
  for (var Int i) 0 nm_count-1
    var Float f := s1:measure:i / s2:measure:i
    if f=undefined
      f := 1
    s:measure i := f
  
function '^' s1 c -> s
  arg ColorSpectrum32 s1 ; arg Float c ; arg ColorSpectrum32
  for (var Int i) 0 nm_count-1
    var Float f := s1:measure:i ^ c
    if f=undefined
abstract
  [Color spectrum handling functions]


function '+' s1 s2 -> s
  arg ColorSpectrum32 s1 s2 s
  for (var Int i) 0 nm_count-1
    s:measure i := s1:measure:i + s2:measure:i
  
function '-' s1 s2 -> s
  arg ColorSpectrum32 s1 s2 s
  for (var Int i) 0 nm_count-1
    s:measure i := s1:measure:i - s2:measure:i
  
function '*' c s1 -> s
  arg Float c ; arg ColorSpectrum32 s1 s
  for (var Int i) 0 nm_count-1
    s:measure i := c * s1:measure:i
  
function '*' s1 s2 -> s
  arg ColorSpectrum32 s1 s2 s
  for (var Int i) 0 nm_count-1
    s:measure i := s1:measure:i * s2:measure:i
  
function '/' s1 s2 -> s
  arg ColorSpectrum32 s1 s2 s
  for (var Int i) 0 nm_count-1
    var Float f := s1:measure:i / s2:measure:i
    if f=undefined
      f := 1
    s:measure i := f
  
function '^' s1 c -> s
  arg ColorSpectrum32 s1 ; arg Float c ; arg ColorSpectrum32
  for (var Int i) 0 nm_count-1
    var Float f := s1:measure:i ^ c
    if f=undefined
      # console s1:measure:i " ^ " c " -> " f eol
      if c=0
        f := 1
      else
        f := s1:measure:i
    s:measure i := f
  
method s integral -> f
  arg ColorSpectrum32 s ; arg Float f
  f := 0
  for (var Int i) 0 nm_count-1
    f += s:measure i
  f *= nm_step


      if c=0
        f := 1
      else
        f := s1:measure:i
    s:measure i := f
  
method s integral -> f
  arg ColorSpectrum32 s ; arg Float f
  f := 0
  for (var Int i) 0 nm_count-1
    f += s:measure i
  f *= nm_step