Overview Schemas Index

MEASURE_SCHEMA (jsdai.SMeasure_schema)


FUNCTION valid_units
          (m : measure_with_unit) : BOOLEAN;

IF 'MEASURE_SCHEMA.LENGTH_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
      dimensional_exponents(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.MASS_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
      dimensional_exponents(0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.TIME_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
      dimensional_exponents(0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.ELECTRIC_CURRENT_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
      dimensional_exponents(0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.THERMODYNAMIC_TEMPERATURE_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
      dimensional_exponents(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.CELSIUS_TEMPERATURE_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
      dimensional_exponents(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.AMOUNT_OF_SUBSTANCE_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
      dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.LUMINOUS_INTENSITY_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
      dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.PLANE_ANGLE_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
      dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.SOLID_ANGLE_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
      dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.AREA_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
      dimensional_exponents(2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.VOLUME_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
      dimensional_exponents(3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.RATIO_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
      dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.POSITIVE_LENGTH_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
      dimensional_exponents(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.POSITIVE_PLANE_ANGLE_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
      dimensional_exponents(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.ACCELERATION_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
        dimensional_exponents( 1.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0 ) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
     IF  'MEASURE_SCHEMA.CAPACITANCE_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
        dimensional_exponents( -2.0, -1.0, 4.0, 1.0, 0.0, 0.0, 0.0 ) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.ELECTRIC_CHARGE_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
        dimensional_exponents( 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0 ) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
        IF  'MEASURE_SCHEMA.CONDUCTANCE_MEASURE' IN  TYPEOF(m.value_component) THEN
          IF  derive_dimensional_exponents(m.unit_component) <> 
            dimensional_exponents( -2.0, -1.0, 3.0, 2.0, 0.0, 0.0, 0.0 ) THEN
            RETURN  (FALSE);
          END_IF;
    END_IF;
        IF  'MEASURE_SCHEMA.ELECTRIC_POTENTIAL_MEASURE' IN  TYPEOF(m.value_component) THEN
          IF  derive_dimensional_exponents(m.unit_component) <> 
            dimensional_exponents( 2.0, 1.0, -3.0, -1.0, 0.0, 0.0, 0.0 ) THEN
            RETURN  (FALSE);
          END_IF;
    END_IF;    
    IF  'MEASURE_SCHEMA.ENERGY_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
        dimensional_exponents( 2.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0 ) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.FORCE_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
        dimensional_exponents( 1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0 ) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.FREQUENCY_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
        dimensional_exponents( 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0 ) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.ILLUMINANCE_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
        dimensional_exponents( -2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0 ) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
     IF  'MEASURE_SCHEMA.INDUCTANCE_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
        dimensional_exponents( 2.0, 1.0, -2.0, -2.0, 0.0, 0.0, 0.0 ) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.LUMINOUS_FLUX_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
        dimensional_exponents( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0 ) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.MAGNETIC_FLUX_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
        dimensional_exponents( 2.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0 ) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
     IF  'MEASURE_SCHEMA.MAGNETIC_FLUX_DENSITY_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
        dimensional_exponents( 0.0, 1.0, -2.0, -1.0, 0.0, 0.0, 0.0 ) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.POWER_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
        dimensional_exponents( 2.0, 1.0, -3.0, 0.0, 0.0, 0.0, 0.0 ) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.PRESSURE_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
        dimensional_exponents( -1.0, 1.0, -2.0, 0.0, 0.0, 0.0, 0.0 ) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.RESISTANCE_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
        dimensional_exponents( 2.0, 1.0, -3.0, -2.0, 0.0, 0.0, 0.0 ) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.VELOCITY_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
        dimensional_exponents( 1.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0 ) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.RADIOACTIVITY_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
        dimensional_exponents(0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.ABSORBED_DOSE_MEASURE' IN  TYPEOF(m.value_component) THEN
      IF  derive_dimensional_exponents(m.unit_component) <> 
        dimensional_exponents(2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    IF  'MEASURE_SCHEMA.DOSE_EQUIVALENT_MEASURE' IN TYPEOF(m.value_component) THEN
      IF derive_dimensional_exponents(m.unit_component) <> 
        dimensional_exponents(2.0, 0.0, -2.0, 0.0, 0.0, 0.0, 0.0) THEN
        RETURN  (FALSE);
      END_IF;
    END_IF;
    RETURN (TRUE);

END_FUNCTION; -- valid_units

public class FValid_units
          public static Value run(SdaiContext _context, Value m)