#! /usr/lib/veetest/veetest -r
(revision "B.00.00")
(date "Wed 17/Mar/1993")
(component 0 "ROOTCONTEXT"
 (implementation
  (component 0 "CONTEXT"
   (name "Interpolate2")
   (interface
    (sequence in)
    (sequence out)
    (input 1
     (type data)
     (name "A")
     (requires
      (datatype Coord)
      (shape "Array 1D")
     )
     (optional yes)
    )
    (input 2
     (type data)
     (name "X")
     (requires
      (datatype Real)
      (shape "Scalar")
     )
     (optional yes)
    )
    (output 1
     (type data)
     (name "Y")
     (lock constraints)
     (optional yes)
    )
   )
   (implementation
    (locked no)
    (trigMode deg)
    (nextID 10)
    (component 1 "FROMCOORDINATE"
     (interface
      (sequence in)
      (sequence out)
      (input 1
       (type data)
       (name "Coord Data")
       (requires
        (datatype Coord)
       )
       (lock name constraints)
      )
      (output 1
       (type data)
       (name "X Data")
       (lock name constraints)
      )
      (output 2
       (type data)
       (name "Y Data")
       (lock name constraints)
       (optional yes)
      )
     )
     (implementation
     )
     (views
      (icon
       (origin 209 407)
       (extent 127 64)
       (iconImage "unbuild.icon")
      )
      (detail
       (origin 260 364)
       (extent 27 72)
      )
      (terminals on)
      (active icon)
     )
    )
    (component 3 "FORMULA"
     (name "GetIndex")
     (interface
      (sequence in)
      (sequence out)
      (input 1
       (type data)
       (name "x")
       (optional yes)
      )
      (input 2
       (type data)
       (name "size")
       (optional yes)
      )
      (input 3
       (type data)
       (name "A")
       (optional yes)
      )
      (output 1
       (type data)
       (name "Result")
       (lock name constraints)
      )
     )
     (implementation
      (component isLocked no)
      (component expr 1 "intpart((x-a[0])*(size-1)/(a[size-1]-a[0]))")
     )
     (views
      (icon
       (origin 497 387)
       (extent 110 64)
       (iconImage "formula.icon")
      )
      (detail
       (origin 470 197)
       (extent 421 226)
      )
      (terminals on)
      (active icon)
     )
    )
    (component 5 "FORMULA"
     (name "FindY")
     (interface
      (sequence in)
      (sequence out)
      (input 1
       (type data)
       (name "Y")
       (requires
        (datatype Real)
        (shape "Array 1D")
       )
       (optional yes)
      )
      (input 2
       (type data)
       (name "X")
       (requires
        (datatype Real)
        (shape "Array 1D")
       )
       (optional yes)
      )
      (input 3
       (type data)
       (name "n")
       (requires
        (datatype Int32)
        (shape "Scalar")
       )
       (optional yes)
      )
      (input 4
       (type data)
       (name "a")
       (optional yes)
      )
      (output 1
       (type data)
       (name "Result")
       (lock name constraints)
      )
     )
     (implementation
      (component isLocked no)
      (component expr 1 "y[n]+(a-x[n])*(y[n+1]-y[n])/(x[n+1]-x[n])")
     )
     (views
      (icon
       (origin 743 457)
       (extent 78 64)
       (iconImage "formula.icon")
      )
      (detail
       (origin 518 278)
       (extent 434 204)
      )
      (terminals on)
      (active icon)
     )
    )
    (component 6 "FORMULA"
     (name "totSize(x)")
     (interface
      (sequence in)
      (sequence out)
      (input 1
       (type data)
       (name "X")
       (lock name constraints)
      )
      (output 1
       (type data)
       (name "Result")
       (lock name constraints)
      )
     )
     (implementation
      (component isLocked yes)
      (component expr 1 "totSize(x)")
     )
     (views
      (icon
       (origin 357 407)
       (extent 110 25)
      )
      (detail
      )
      (terminals on)
      (active icon)
     )
    )
    (component 7 "IFTHENELSE"
     (name "index=size?")
     (interface
      (sequence in)
      (sequence out)
      (input 1
       (type data)
       (name "size")
       (requires
        (datatype Int32)
        (shape "Scalar")
       )
       (optional yes)
      )
      (input 2
       (type data)
       (name "index")
       (requires
        (datatype Int32)
        (shape "Scalar")
       )
       (optional yes)
      )
      (output 1
       (type data)
       (name "Then")
       (lock name constraints)
      )
      (output 2
       (type data)
       (name "Else")
       (lock name constraints)
      )
     )
     (implementation
      (component isLocked no)
      (component expr "index==size-1")
     )
     (views
      (icon
       (origin 647 297)
       (extent 110 25)
      )
      (detail
       (origin 613 198)
       (extent 145 104)
      )
      (terminals on)
      (active icon)
     )
    )
    (component 8 "FORMULA"
     (name "y[n]")
     (interface
      (sequence in)
      (sequence out)
      (input 1
       (type data)
       (name "y")
       (optional yes)
      )
      (input 2
       (type data)
       (name "index")
       (requires
        (datatype Int32)
        (shape "Scalar")
       )
       (optional yes)
      )
      (output 1
       (type data)
       (name "Result")
       (lock name constraints)
      )
     )
     (implementation
      (component isLocked no)
      (component expr 1 "y[index]")
     )
     (views
      (icon
       (origin 743 367)
       (extent 78 64)
       (iconImage "formula.icon")
      )
      (detail
       (origin 742 308)
       (extent 106 104)
      )
      (terminals on)
      (active icon)
     )
    )
    (component 9 "JUNCTION"
     (name "JCT")
     (interface
      (input 1
       (type data)
       (name "A")
       (lock name constraints)
      )
      (input 2
       (type data)
       (name "B")
       (lock name constraints)
      )
      (output 1
       (type data)
       (name "Data")
       (lock name constraints)
      )
     )
     (implementation
     )
     (views
      (icon
       (origin 879 417)
       (extent 46 25)
      )
      (detail
      )
      (terminals on)
      (active icon)
     )
    )
    (configuration
     (connect I1:1 D0:1)
     (connect I2:1 D1:1)
     (connect D3:1 D1:2)
     (connect D0:1 D1:3)
     (connect D4:2 D2:0)
     (connect D0:2 D2:1)
     (connect D0:1 D2:2)
     (connect D1:1 D2:3)
     (connect I2:1 D2:4)
     (connect D0:1 D3:1)
     (connect D3:1 D4:1)
     (connect D1:1 D4:2)
     (connect D4:1 D5:0)
     (connect D0:2 D5:1)
     (connect D1:1 D5:2)
     (connect D5:1 D6:1)
     (connect D2:1 D6:2)
     (connect D6:1 O1:1)
    )
   )
   (views
    (icon
     (origin 271 288)
     (extent 118 25)
    )
    (detail
     (origin 118 204)
     (extent 832 352)
     (configuration
      (connect I1:1 D0:1
       (Point 120 300)
       (Point 130 300)
       (Point 130 439)
       (Point 206 439)
      )
      (connect I2:1 D1:1
       (Point 120 480)
       (Point 140 480)
       (Point 140 390)
       (Point 470 390)
       (Point 470 399)
       (Point 494 399)
      )
      (connect D3:1 D1:2
       (Point 469 419)
       (Point 494 419)
      )
      (connect D0:1 D1:3
       (Point 338 419)
       (Point 352 419)
       (Point 352 449)
       (Point 482 449)
       (Point 482 439)
       (Point 494 439)
      )
      (connect D4:2 D2:0
       (Point 759 319)
       (Point 772 319)
       (Point 772 339)
       (Point 722 339)
       (Point 722 449)
       (Point 782 449)
       (Point 782 454)
      )
      (connect D0:2 D2:1
       (Point 338 459)
       (Point 352 459)
       (Point 352 469)
       (Point 740 469)
      )
      (connect D0:1 D2:2
       (Point 338 419)
       (Point 352 419)
       (Point 352 449)
       (Point 482 449)
       (Point 482 479)
       (Point 740 479)
      )
      (connect D1:1 D2:3
       (Point 609 419)
       (Point 712 419)
       (Point 712 489)
       (Point 740 489)
      )
      (connect I2:1 D2:4
       (Point 120 480)
       (Point 140 480)
       (Point 140 499)
       (Point 740 499)
      )
      (connect D0:1 D3:1
       (Point 338 419)
       (Point 354 419)
      )
      (connect D3:1 D4:1
       (Point 469 419)
       (Point 482 419)
       (Point 482 299)
       (Point 644 299)
      )
      (connect D1:1 D4:2
       (Point 609 419)
       (Point 622 419)
       (Point 622 319)
       (Point 644 319)
      )
      (connect D4:1 D5:0
       (Point 759 299)
       (Point 782 299)
       (Point 782 364)
      )
      (connect D0:2 D5:1
       (Point 338 459)
       (Point 352 459)
       (Point 352 469)
       (Point 702 469)
       (Point 702 379)
       (Point 740 379)
      )
      (connect D1:1 D5:2
       (Point 609 419)
       (Point 740 419)
      )
      (connect D5:1 D6:1
       (Point 823 399)
       (Point 842 399)
       (Point 842 419)
       (Point 876 419)
      )
      (connect D2:1 D6:2
       (Point 823 489)
       (Point 842 489)
       (Point 842 439)
       (Point 876 439)
      )
      (connect D6:1 O1:1
       (Point 927 429)
       (Point 940 429)
       (Point 940 390)
       (Point 947 390)
      )
     )
     (stackingOrder 1 4 2 5 0 6 3)
    )
    (terminals on)
    (active icon)
   )
  )
  (configuration
  )
 )
 (views
  (detail
   (configuration
   )
  )
 )
)
