AnyIntervalDerivativeNumber.java

/**
 * Copyright (C) 2021 MKLab.org (Koga Laboratory)
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.mklab.cga.derivative;

import org.mklab.cga.interval.matrix.IntervalNumericalMatrix;
import org.mklab.cga.interval.scalar.IntervalNumericalScalar;
import org.mklab.nfc.matrix.NumericalMatrix;
import org.mklab.nfc.random.RandomGenerator;
import org.mklab.nfc.scalar.NumericalScalar;

/**
 * @param <IS> 区間スカラーの型
 * @param <IM> 区間行列の型
 * @param <S> スカラーの型
 * @param <M> の型
 * @author koga
 * @version $Revision$, 2021/09/14
 */
public class AnyIntervalDerivativeNumber<IS extends IntervalNumericalScalar<IS,IM,S,M>,  IM extends IntervalNumericalMatrix<IS,IM,S,M>,  S extends NumericalScalar<S,M>, M extends NumericalMatrix<S,M> >  extends AbstractIntervalDerivativeNumber<AnyIntervalDerivativeNumber<IS,IM,S,M>, AnyIntervalDerivativeMatrix<IS,IM,S,M>, IS, IM, S, M> {

  /** */
  private static final long serialVersionUID = 1L;

  /**
   * Creates {@link AnyIntervalDerivativeNumber}.
   * @param x x
   * @param dx dx
   */
  public AnyIntervalDerivativeNumber(IS x, IS dx) {
    super(x, dx);
  }

  /**
   * Creates {@link AnyIntervalDerivativeNumber}.
   * @param x x
   */
  public AnyIntervalDerivativeNumber(IS x) {
    super(x);
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> create(IS x) {
    return new AnyIntervalDerivativeNumber<>(x);
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> create(IS x, IS dx) {
    return new AnyIntervalDerivativeNumber<>(x,dx);
  }
  

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeMatrix<IS, IM, S, M> createGrid(int rowSize, int columnSize, AnyIntervalDerivativeNumber<IS, IM, S, M>[][] elements) {
    return new AnyIntervalDerivativeMatrix<>(elements);
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeMatrix<IS, IM, S, M> createGrid(AnyIntervalDerivativeNumber<IS, IM, S, M>[] elements) {
    return new AnyIntervalDerivativeMatrix<>(elements);
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> create(int value) {
    return create(this.getDX().create(value));
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> create(double value) {
    return create(this.getDX().create(value));
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M>[] createArray(int size) {
    return new AnyIntervalDerivativeNumber[size];
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M>[][] createArray(int rowSize, int columnSize) {
    return new AnyIntervalDerivativeNumber[rowSize][columnSize];
  }


  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> abs() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> abs2() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> sqrt() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> power(double scalar) {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> power(AnyIntervalDerivativeNumber<IS, IM, S, M> scalar) {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> sin() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> sinh() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> asin() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> asinh() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> cos() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> cosh() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> acos() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> acosh() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> tan() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> tanh() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> atan() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> atan2(AnyIntervalDerivativeNumber<IS, IM, S, M> scalar) {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> atan2(int scalar) {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> atan2(double scalar) {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> atanh() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> exp() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> log() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> log10() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public boolean isLessThan(AnyIntervalDerivativeNumber<IS, IM, S, M> opponent) {
    return false;
  }

  /**
   * {@inheritDoc}
   */
  public boolean isLessThanOrEquals(AnyIntervalDerivativeNumber<IS, IM, S, M> opponent) {
    return false;
  }

  /**
   * {@inheritDoc}
   */
  public boolean isGreaterThan(AnyIntervalDerivativeNumber<IS, IM, S, M> opponent) {
    return false;
  }

  /**
   * {@inheritDoc}
   */
  public boolean isGreaterThanOrEquals(AnyIntervalDerivativeNumber<IS, IM, S, M> opponent) {
    return false;
  }

  /**
   * {@inheritDoc}
   */
  public boolean isLessThan(int opponent) {
    return false;
  }

  /**
   * {@inheritDoc}
   */
  public boolean isLessThan(double opponent) {
    return false;
  }

  /**
   * {@inheritDoc}
   */
  public boolean isLessThanOrEquals(int opponent) {
    return false;
  }

  /**
   * {@inheritDoc}
   */
  public boolean isLessThanOrEquals(double opponent) {
    return false;
  }

  /**
   * {@inheritDoc}
   */
  public boolean isGreaterThan(int opponent) {
    return false;
  }

  /**
   * {@inheritDoc}
   */
  public boolean isGreaterThan(double opponent) {
    return false;
  }

  /**
   * {@inheritDoc}
   */
  public boolean isGreaterThanOrEquals(int opponent) {
    return false;
  }

  /**
   * {@inheritDoc}
   */
  public boolean isGreaterThanOrEquals(double opponent) {
    return false;
  }

  /**
   * {@inheritDoc}
   */
  public boolean equals(AnyIntervalDerivativeNumber<IS, IM, S, M> opponent, AnyIntervalDerivativeNumber<IS, IM, S, M> tolerance) {
    return false;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> getMachineEpsilon() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> getInfinity() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> getNaN() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> createPI() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> createE() {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public AnyIntervalDerivativeNumber<IS, IM, S, M> valueOf(String numberString) {
    return null;
  }

  /**
   * {@inheritDoc}
   */
  public RandomGenerator<AnyIntervalDerivativeNumber<IS, IM, S, M>, AnyIntervalDerivativeMatrix<IS, IM, S, M>> createUniformRandomGenerator() {
    return null;
  }

}