Skip to content
Snippets Groups Projects
Select Git revision
  • be03d92c9476f7da82de4a187961a672bd9c995c
  • master default protected
2 results

TopicTracking.rst

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    VectorVisualisation.mch 765 B
    MACHINE VectorVisualisation
    // Small visualisation to show two vectors and various operations on them
    DEFINITIONS
     NVECS==2;
     VISB_JSON_FILE == "vector_visualisation_visb.json";
     "LibrarySVG.def"
    INCLUDES Vectors2
    VARIABLES vectors
    INVARIANT
      vectors : 1..NVECS --> VEC
    INITIALISATION vectors := [ [0.0, 2.0] , [2.0, 0.0] ]
    OPERATIONS
      TimesVec(i,k) = PRE i:dom(vectors) & k: {0.5, 0.75, 1.5, 2.0} THEN
        vectors(i) := times_vec(k,vectors(i))
      END;
      AddVec = BEGIN vectors(1):= add_vec(vectors(1),vectors(2)) END;
      MakeUnit(i) = PRE i:dom(vectors) THEN vectors(i):= unit_vec(vectors(i)) END;
      SwapXY(i) = PRE i:dom(vectors) THEN vectors(i):= rev(vectors(i)) END;
      Opposite(i) = PRE i:dom(vectors) THEN vectors(i):= [-vectors(i)(1),-vectors(i)(2)] END
    END