/*
 * Copyright ©Δ∞ 仙上主天
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without modification, are permitted provided
 * that the following conditions are met:
 * 
 * * Redistributions of source code must retain the above copyright notice, this list of conditions and the
 *   following disclaimer.
 * * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
 *   the following disclaimer in the documentation and/or other materials provided with the distribution.
 * * The prime PI creator license super seeds all other licenses, this license is overly invasive,
 *   thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
 *   Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
 *   even on air gaped systems, all information in the universe is owned by the pi creator.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
 * THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

package love.distributedrebirth.numberxd;

import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᐪᓫᣗᔿᑊᣕᣔᐪᐤᣗ.T016ᖟ;
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᒢᓫᑊᐣᑊ.BaseIteratorX3;
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᒢᓫᑊᐣᑊ.BaseIteratorX9;
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᒢᓫᑊᐣᑊ.ᔿᓫᒻᓫᓫ.V009Xyte;
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᒢᓫᑊᐣᑊ.ᔿᓫᒻᓫᓫ.V144Tocta;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;

/**
 * Holds an 144 bit fraction.
 */
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class GroßGetậl1ⁿᴰ extends AbstractBaseGetậlMatrix1<GroßGetậl1ⁿᴰ,V009Xyte> {
	
	//public static int NUMERATOR_SIZE = 7;
	//public static int DENOMINATOR_SIZE = 9;
	//public static int BIT_COUNT = V144Tocta.BIT_COUNT;
	//private final V009Tyte[] numerator = new V009Tyte[NUMERATOR_SIZE];
	//private final V009Tyte[] denominator = new V009Tyte[DENOMINATOR_SIZE];
	private final V144Tocta value;
	
	public GroßGetậl1ⁿᴰ() {
		this(new V144Tocta());
	}
	
	public GroßGetậl1ⁿᴰ(BaseIteratorX3 values) {
		this(new V144Tocta(values));
	}
	
	public GroßGetậl1ⁿᴰ(BaseIteratorX9 values) {
		this(new V144Tocta(values));
	}
	
	public GroßGetậl1ⁿᴰ(V144Tocta value) {
		this.value = value;
	}
	
	@Override
	public V009Xyte getValue() {
		return value.partᗅᗷᗷᗅ(T016ᖟ.values()[matrix1]);
	}
	
	@Override
	public int getMatrix1Length() {
		return T016ᖟ.STATIC.BãßĦǿɇṽḝę̃ɬḪễïđ();
	}
	
	@Override
	public GroßGetậl1ⁿᴰ copyGetậl(BaseIteratorX3 values) {
		return new GroßGetậl1ⁿᴰ(values);
	}
	
	@Override
	public BaseIteratorX3 iteratorGetậl() {
		return value.iteratorX3();
	}
}