Specify the result type for each operation based on operator types

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Major
    • V4.02
    • Affects Version/s: V4.0_OS
    • Component/s: URL Conventions
    • None
    • Hide

      Specify the result type for each operation based on operator types (refine and put in matrix)
      a) int* add/mult/sub int* => int64 (may be +/-inf)
      b) Int* add/mult/sub decimal/single/double => promotion rules will promote, then type
      c) int* div int* => loperand (or larger) -> service can always promote to int64
      d) Int* div decimal/single/double => roperand
      e) decimal/single/double div number => operation promotes smaller operand; result is that type
      f) number divideby number =>decimal
      g) Int* mod Int* the type of the loperand (or larger)
      h) Int* mod decimal/single/double => roperand (service can promote to decimal)
      i) Decimal/single/double mod number => loperand (service can promote to decimal)
      j) Single add/mult/sub single -> single
      k) Double add/mult/sub Double -> double (note, if either operand is single, gets promoted to double)

      l) Don't promote outside of type families
      m) Do not promote Single->Double

      Show
      Specify the result type for each operation based on operator types (refine and put in matrix) a) int* add/mult/sub int* => int64 (may be +/-inf) b) Int* add/mult/sub decimal/single/double => promotion rules will promote, then type c) int* div int* => loperand (or larger) -> service can always promote to int64 d) Int* div decimal/single/double => roperand e) decimal/single/double div number => operation promotes smaller operand; result is that type f) number divideby number =>decimal g) Int* mod Int* the type of the loperand (or larger) h) Int* mod decimal/single/double => roperand (service can promote to decimal) i) Decimal/single/double mod number => loperand (service can promote to decimal) j) Single add/mult/sub single -> single k) Double add/mult/sub Double -> double (note, if either operand is single, gets promoted to double) l) Don't promote outside of type families m) Do not promote Single->Double

      See ODATA-785 for a description of the issue --> Comments Section.

            Assignee:
            handl
            Reporter:
            martinzurmuehl
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: